Launch Week Day 3: Introducing Organization Notifications in Socket.Learn More
Socket
Book a DemoSign in
Socket

@angular/platform-server

Package Overview
Dependencies
Maintainers
1
Versions
1040
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@angular/platform-server - npm Package Compare versions

Comparing version
6.0.0-rc.6
to
6.0.0
+1
-1
bundles/platform-server-testing.umd.js
/**
* @license Angular v6.0.0-rc.6
* @license Angular v6.0.0
* (c) 2010-2018 Google, Inc. https://angular.io/

@@ -4,0 +4,0 @@ * License: MIT

/**
* @license Angular v6.0.0-rc.6
* @license Angular v6.0.0
* (c) 2010-2018 Google, Inc. https://angular.io/

@@ -4,0 +4,0 @@ * License: MIT

@@ -1,1 +0,1 @@

{"version":3,"sources":["packages/platform-server/platform-server-testing.umd.js"],"names":["global","factory","exports","module","require","define","amd","ng","platformServer","testing","core","platformBrowserDynamic","platformBrowser","animations","this","platformServerTesting","createPlatformFactory","ɵplatformCoreDynamicTesting","ɵINTERNAL_SERVER_PLATFORM_PROVIDERS","ServerTestingModule","decorators","type","NgModule","args","BrowserDynamicTestingModule","imports","NoopAnimationsModule","providers","ɵSERVER_RENDER_PROVIDERS","ctorParameters","Object","defineProperty","value"],"mappings":";;;;;CAMC,SAAUA,EAAQC,GACC,iBAAZC,SAA0C,oBAAXC,OAAyBF,EAAQC,QAASE,QAAQ,iBAAkBA,QAAQ,6CAA8CA,QAAQ,wCAAyCA,QAAQ,6BACvM,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,oCAAqC,UAAW,gBAAiB,4CAA6C,uCAAwC,4BAA6BJ,GACtOA,GAASD,EAAOO,GAAKP,EAAOO,OAAUP,EAAOO,GAAGC,eAAiBR,EAAOO,GAAGC,mBAAsBR,EAAOO,GAAGC,eAAeC,YAAcT,EAAOO,GAAGG,KAAKV,EAAOO,GAAGI,uBAAuBF,QAAQT,EAAOO,GAAGK,gBAAgBC,WAAWb,EAAOO,GAAGC,gBAHjP,CAIEM,KAAM,SAAWZ,EAAQQ,EAAKD,EAAQI,EAAWL,GAAkB;;;;;;;GAcrE,IAAIO,EAAwBL,EAAKM,sBAAsBP,EAAQQ,4BAA6B,gBAAiBT,EAAeU,qCAMxHC,EAAqC,WACrC,SAASA,KAWT,OATAA,EAAoBC,aACdC,KAAMX,EAAKY,SAAUC,OACXrB,SAAUO,EAAQe,6BAClBC,SAAUZ,EAAWa,sBACrBC,UAAWnB,EAAeoB,6BAI1CT,EAAoBU,eAAiB,WAAc,UAC5CV,EAZ6B;;;;;;;;;;;;;;;;;;;;;;AA6CxCjB,EAAQa,sBAAwBA,EAChCb,EAAQiB,oBAAsBA,EAE9BW,OAAOC,eAAe7B,EAAS,cAAgB8B,OAAO","sourcesContent":["/**\n * @license Angular v6.0.0-rc.6\n * (c) 2010-2018 Google, Inc. https://angular.io/\n * License: MIT\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/platform-browser-dynamic/testing'), require('@angular/platform-browser/animations'), require('@angular/platform-server')) :\n\ttypeof define === 'function' && define.amd ? define('@angular/platform-server/testing', ['exports', '@angular/core', '@angular/platform-browser-dynamic/testing', '@angular/platform-browser/animations', '@angular/platform-server'], factory) :\n\t(factory((global.ng = global.ng || {}, global.ng.platformServer = global.ng.platformServer || {}, global.ng.platformServer.testing = {}),global.ng.core,global.ng.platformBrowserDynamic.testing,global.ng.platformBrowser.animations,global.ng.platformServer));\n}(this, (function (exports,core,testing,animations,platformServer) { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. 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 * Platform for testing\n *\n * @experimental API related to bootstrapping are still under review.\n */\nvar platformServerTesting = core.createPlatformFactory(testing.ɵplatformCoreDynamicTesting, 'serverTesting', platformServer.ɵINTERNAL_SERVER_PLATFORM_PROVIDERS);\n/**\n * NgModule for testing.\n *\n * @experimental API related to bootstrapping are still under review.\n */\nvar ServerTestingModule = /** @class */ (function () {\n function ServerTestingModule() {\n }\n ServerTestingModule.decorators = [\n { type: core.NgModule, args: [{\n exports: [testing.BrowserDynamicTestingModule],\n imports: [animations.NoopAnimationsModule],\n providers: platformServer.ɵSERVER_RENDER_PROVIDERS\n },] }\n ];\n /** @nocollapse */\n ServerTestingModule.ctorParameters = function () { return []; };\n return ServerTestingModule;\n}());\n\n/**\n * @license\n * Copyright Google Inc. 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 * @license\n * Copyright Google Inc. 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 only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @license\n * Copyright Google Inc. 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 * Generated bundle index. Do not edit.\n */\n\nexports.platformServerTesting = platformServerTesting;\nexports.ServerTestingModule = ServerTestingModule;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=platform-server-testing.umd.js.map\n"]}
{"version":3,"sources":["packages/platform-server/platform-server-testing.umd.js"],"names":["global","factory","exports","module","require","define","amd","ng","platformServer","testing","core","platformBrowserDynamic","platformBrowser","animations","this","platformServerTesting","createPlatformFactory","ɵplatformCoreDynamicTesting","ɵINTERNAL_SERVER_PLATFORM_PROVIDERS","ServerTestingModule","decorators","type","NgModule","args","BrowserDynamicTestingModule","imports","NoopAnimationsModule","providers","ɵSERVER_RENDER_PROVIDERS","ctorParameters","Object","defineProperty","value"],"mappings":";;;;;CAMC,SAAUA,EAAQC,GACC,iBAAZC,SAA0C,oBAAXC,OAAyBF,EAAQC,QAASE,QAAQ,iBAAkBA,QAAQ,6CAA8CA,QAAQ,wCAAyCA,QAAQ,6BACvM,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,oCAAqC,UAAW,gBAAiB,4CAA6C,uCAAwC,4BAA6BJ,GACtOA,GAASD,EAAOO,GAAKP,EAAOO,OAAUP,EAAOO,GAAGC,eAAiBR,EAAOO,GAAGC,mBAAsBR,EAAOO,GAAGC,eAAeC,YAAcT,EAAOO,GAAGG,KAAKV,EAAOO,GAAGI,uBAAuBF,QAAQT,EAAOO,GAAGK,gBAAgBC,WAAWb,EAAOO,GAAGC,gBAHjP,CAIEM,KAAM,SAAWZ,EAAQQ,EAAKD,EAAQI,EAAWL,GAAkB;;;;;;;GAcrE,IAAIO,EAAwBL,EAAKM,sBAAsBP,EAAQQ,4BAA6B,gBAAiBT,EAAeU,qCAMxHC,EAAqC,WACrC,SAASA,KAWT,OATAA,EAAoBC,aACdC,KAAMX,EAAKY,SAAUC,OACXrB,SAAUO,EAAQe,6BAClBC,SAAUZ,EAAWa,sBACrBC,UAAWnB,EAAeoB,6BAI1CT,EAAoBU,eAAiB,WAAc,UAC5CV,EAZ6B;;;;;;;;;;;;;;;;;;;;;;AA6CxCjB,EAAQa,sBAAwBA,EAChCb,EAAQiB,oBAAsBA,EAE9BW,OAAOC,eAAe7B,EAAS,cAAgB8B,OAAO","sourcesContent":["/**\n * @license Angular v6.0.0\n * (c) 2010-2018 Google, Inc. https://angular.io/\n * License: MIT\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/platform-browser-dynamic/testing'), require('@angular/platform-browser/animations'), require('@angular/platform-server')) :\n\ttypeof define === 'function' && define.amd ? define('@angular/platform-server/testing', ['exports', '@angular/core', '@angular/platform-browser-dynamic/testing', '@angular/platform-browser/animations', '@angular/platform-server'], factory) :\n\t(factory((global.ng = global.ng || {}, global.ng.platformServer = global.ng.platformServer || {}, global.ng.platformServer.testing = {}),global.ng.core,global.ng.platformBrowserDynamic.testing,global.ng.platformBrowser.animations,global.ng.platformServer));\n}(this, (function (exports,core,testing,animations,platformServer) { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. 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 * Platform for testing\n *\n * @experimental API related to bootstrapping are still under review.\n */\nvar platformServerTesting = core.createPlatformFactory(testing.ɵplatformCoreDynamicTesting, 'serverTesting', platformServer.ɵINTERNAL_SERVER_PLATFORM_PROVIDERS);\n/**\n * NgModule for testing.\n *\n * @experimental API related to bootstrapping are still under review.\n */\nvar ServerTestingModule = /** @class */ (function () {\n function ServerTestingModule() {\n }\n ServerTestingModule.decorators = [\n { type: core.NgModule, args: [{\n exports: [testing.BrowserDynamicTestingModule],\n imports: [animations.NoopAnimationsModule],\n providers: platformServer.ɵSERVER_RENDER_PROVIDERS\n },] }\n ];\n /** @nocollapse */\n ServerTestingModule.ctorParameters = function () { return []; };\n return ServerTestingModule;\n}());\n\n/**\n * @license\n * Copyright Google Inc. 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 * @license\n * Copyright Google Inc. 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 only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @license\n * Copyright Google Inc. 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 * Generated bundle index. Do not edit.\n */\n\nexports.platformServerTesting = platformServerTesting;\nexports.ServerTestingModule = ServerTestingModule;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=platform-server-testing.umd.js.map\n"]}
/**
* @license Angular v6.0.0-rc.6
* @license Angular v6.0.0
* (c) 2010-2018 Google, Inc. https://angular.io/

@@ -1041,3 +1041,3 @@ * License: MIT

*/
var VERSION = new core.Version('6.0.0-rc.6');
var VERSION = new core.Version('6.0.0');

@@ -1044,0 +1044,0 @@ /**

/**
* @license Angular v6.0.0-rc.6
* @license Angular v6.0.0
* (c) 2010-2018 Google, Inc. https://angular.io/

@@ -80,3 +80,3 @@ * License: MIT

*/
var tt=new e.Version("6.0.0-rc.6");
var tt=new e.Version("6.0.0");
/**

@@ -83,0 +83,0 @@ * @license

@@ -16,4 +16,4 @@ /**

*/
export const /** @type {?} */ VERSION = new Version('6.0.0-rc.6');
export const /** @type {?} */ VERSION = new Version('6.0.0');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYXRmb3JtLXNlcnZlci9zcmMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWNBLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7QUFJdEMsTUFBTSxDQUFDLHVCQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEBtb2R1bGVcbiAqIEBkZXNjcmlwdGlvblxuICogRW50cnkgcG9pbnQgZm9yIGFsbCBwdWJsaWMgQVBJcyBvZiB0aGUgY29tbW9uIHBhY2thZ2UuXG4gKi9cblxuaW1wb3J0IHtWZXJzaW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8qKlxuICpcbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBuZXcgVmVyc2lvbignMC4wLjAtUExBQ0VIT0xERVInKTtcbiJdfQ==

@@ -12,4 +12,4 @@ /**

*/
export var VERSION = new Version('6.0.0-rc.6');
export var VERSION = new Version('6.0.0');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYXRmb3JtLXNlcnZlci9zcmMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBY0EsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQUl0QyxNQUFNLENBQUMsSUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBAbW9kdWxlXG4gKiBAZGVzY3JpcHRpb25cbiAqIEVudHJ5IHBvaW50IGZvciBhbGwgcHVibGljIEFQSXMgb2YgdGhlIGNvbW1vbiBwYWNrYWdlLlxuICovXG5cbmltcG9ydCB7VmVyc2lvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vKipcbiAqXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzAuMC4wLVBMQUNFSE9MREVSJyk7XG4iXX0=
/**
* @license Angular v6.0.0-rc.6
* @license Angular v6.0.0
* (c) 2010-2018 Google, Inc. https://angular.io/

@@ -1436,3 +1436,3 @@ * License: MIT

*/
const VERSION = new Version('6.0.0-rc.6');
const VERSION = new Version('6.0.0');

@@ -1439,0 +1439,0 @@ /**

@@ -1,1 +0,1 @@

{"version":3,"file":"platform-server.js","sources":["../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/src/domino_adapter.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/src/platform_state.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/src/http.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/src/tokens.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/src/location.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/src/server_renderer.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/src/styles_host.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/src/server.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/src/transfer_state.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/src/utils.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/src/version.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/public_api.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/platform-server.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. 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 */\nconst domino = require('domino');\n\nimport {ɵBrowserDomAdapter as BrowserDomAdapter, ɵsetRootDomAdapter as setRootDomAdapter} from '@angular/platform-browser';\n\nfunction _notImplemented(methodName: string) {\n return new Error('This method is not implemented in DominoAdapter: ' + methodName);\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 makeCurrent() { setRootDomAdapter(new DominoAdapter()); }\n\n private static defaultDoc: Document;\n\n logError(error: string) { console.error(error); }\n\n log(error: string) {\n // tslint:disable-next-line:no-console\n console.log(error);\n }\n\n logGroup(error: string) { console.error(error); }\n\n logGroupEnd() {}\n\n supportsDOMEvents(): boolean { return false; }\n supportsNativeShadowDOM(): boolean { return false; }\n\n contains(nodeA: any, nodeB: any): boolean {\n let inner = nodeB;\n while (inner) {\n if (inner === nodeA) return true;\n inner = inner.parent;\n }\n return false;\n }\n\n createHtmlDocument(): HTMLDocument {\n return parseDocument('<html><head><title>fakeTitle</title></head><body></body></html>');\n }\n\n getDefaultDocument(): Document {\n if (!DominoAdapter.defaultDoc) {\n DominoAdapter.defaultDoc = domino.createDocument();\n }\n return DominoAdapter.defaultDoc;\n }\n\n createShadowRoot(el: any, doc: Document = document): DocumentFragment {\n el.shadowRoot = doc.createDocumentFragment();\n el.shadowRoot.parent = el;\n return el.shadowRoot;\n }\n getShadowRoot(el: any): DocumentFragment { return el.shadowRoot; }\n\n isTextNode(node: any): boolean { return node.nodeType === DominoAdapter.defaultDoc.TEXT_NODE; }\n isCommentNode(node: any): boolean {\n return node.nodeType === DominoAdapter.defaultDoc.COMMENT_NODE;\n }\n isElementNode(node: any): boolean {\n return node ? node.nodeType === DominoAdapter.defaultDoc.ELEMENT_NODE : false;\n }\n hasShadowRoot(node: any): boolean { return node.shadowRoot != null; }\n isShadowRoot(node: any): boolean { return this.getShadowRoot(node) == node; }\n\n getProperty(el: Element, name: string): any {\n if (name === 'href') {\n // Domino tries tp resolve href-s which we do not want. Just return the\n // attribute value.\n return this.getAttribute(el, 'href');\n } else if (name === 'innerText') {\n // Domino does not support innerText. Just map it to textContent.\n return el.textContent;\n }\n return (<any>el)[name];\n }\n\n setProperty(el: Element, name: string, value: any) {\n if (name === 'href') {\n // Even though the server renderer reflects any properties to attributes\n // map 'href' to attribute just to handle when setProperty is directly called.\n this.setAttribute(el, 'href', value);\n } else 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 }\n\n 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 getBaseHref(doc: Document): string {\n const base = this.querySelector(doc.documentElement, 'base');\n let href = '';\n if (base) {\n href = this.getHref(base);\n }\n // TODO(alxhub): Need relative path logic from BrowserDomAdapter here?\n return href;\n }\n\n /** @internal */\n _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.substr(0, colonIndex).trim();\n styleMap[name] = style.substr(colonIndex + 1).trim();\n }\n }\n }\n return styleMap;\n }\n /** @internal */\n _writeStyleAttribute(element: any, styleMap: {[name: string]: string}) {\n let styleAttrValue = '';\n for (const key in styleMap) {\n const newValue = styleMap[key];\n if (newValue) {\n styleAttrValue += key + ':' + styleMap[key] + ';';\n }\n }\n element.setAttribute('style', styleAttrValue);\n }\n setStyle(element: any, styleName: string, styleValue?: string|null) {\n styleName = styleName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n const styleMap = this._readStyleAttribute(element);\n styleMap[styleName] = styleValue || '';\n this._writeStyleAttribute(element, styleMap);\n }\n removeStyle(element: any, styleName: string) {\n // IE requires '' instead of null\n // see https://github.com/angular/angular/issues/7916\n this.setStyle(element, styleName, '');\n }\n getStyle(element: any, styleName: string): string {\n const styleMap = this._readStyleAttribute(element);\n return styleMap[styleName] || '';\n }\n hasStyle(element: any, styleName: string, styleValue?: string): boolean {\n const value = this.getStyle(element, styleName);\n return styleValue ? value == styleValue : value.length > 0;\n }\n\n 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 getHistory(): History { throw _notImplemented('getHistory'); }\n getLocation(): Location { throw _notImplemented('getLocation'); }\n getUserAgent(): string { return 'Fake user agent'; }\n\n supportsWebAnimation(): boolean { return false; }\n performanceNow(): number { return Date.now(); }\n getAnimationPrefix(): string { return ''; }\n getTransitionEnd(): string { return 'transitionend'; }\n supportsAnimation(): boolean { return true; }\n\n getDistributedNodes(el: any): Node[] { throw _notImplemented('getDistributedNodes'); }\n\n supportsCookies(): boolean { return false; }\n getCookie(name: string): string { throw _notImplemented('getCookie'); }\n setCookie(name: string, value: string) { throw _notImplemented('setCookie'); }\n}\n","/**\n * @license\n * Copyright Google Inc. 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 {Inject, Injectable} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\nimport {serializeDocument} from './domino_adapter';\n\n/**\n * Representation of the current platform state.\n *\n * @experimental\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 { return serializeDocument(this._doc); }\n\n /**\n * Returns the current DOM state.\n */\n getDocument(): any { return this._doc; }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nconst xhr2: any = require('xhr2');\n\nimport {Injectable, Optional, Provider} from '@angular/core';\nimport {BrowserXhr, Connection, ConnectionBackend, Http, ReadyState, Request, RequestOptions, Response, XHRBackend, XSRFStrategy} from '@angular/http';\n\nimport {HttpEvent, HttpRequest, HttpHandler, HttpInterceptor, HTTP_INTERCEPTORS, HttpBackend, XhrFactory, ɵinterceptingHandler as interceptingHandler} from '@angular/common/http';\n\nimport {Observable, Observer, Subscription} from 'rxjs';\n\nconst isAbsoluteUrl = /^[a-zA-Z\\-\\+.]+:\\/\\//;\n\nfunction validateRequestUrl(url: string): void {\n if (!isAbsoluteUrl.test(url)) {\n throw new Error(`URLs requested via Http on the server must be absolute. URL: ${url}`);\n }\n}\n\n@Injectable()\nexport class ServerXhr implements BrowserXhr {\n build(): XMLHttpRequest { return new xhr2.XMLHttpRequest(); }\n}\n\n@Injectable()\nexport class ServerXsrfStrategy implements XSRFStrategy {\n configureRequest(req: Request): void {}\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 ZoneMacroTaskConnection extends ZoneMacroTaskWrapper<Request, Response> implements\n Connection {\n response: Observable<Response>;\n lastConnection: Connection;\n\n constructor(public request: Request, private backend: XHRBackend) {\n super();\n validateRequestUrl(request.url);\n this.response = this.wrap(request);\n }\n\n delegate(request: Request): Observable<Response> {\n this.lastConnection = this.backend.createConnection(request);\n return this.lastConnection.response as Observable<Response>;\n }\n\n get readyState(): ReadyState {\n return !!this.lastConnection ? this.lastConnection.readyState : ReadyState.Unsent;\n }\n}\n\nexport class ZoneMacroTaskBackend implements ConnectionBackend {\n constructor(private backend: XHRBackend) {}\n\n createConnection(request: any): ZoneMacroTaskConnection {\n return new ZoneMacroTaskConnection(request, this.backend);\n }\n}\n\nexport class ZoneClientBackend extends\n ZoneMacroTaskWrapper<HttpRequest<any>, HttpEvent<any>> implements HttpBackend {\n constructor(private backend: HttpBackend) { super(); }\n\n handle(request: HttpRequest<any>): Observable<HttpEvent<any>> { return this.wrap(request); }\n\n protected delegate(request: HttpRequest<any>): Observable<HttpEvent<any>> {\n return this.backend.handle(request);\n }\n}\n\nexport function httpFactory(xhrBackend: XHRBackend, options: RequestOptions) {\n const macroBackend = new ZoneMacroTaskBackend(xhrBackend);\n return new Http(macroBackend, options);\n}\n\nexport function zoneWrappedInterceptingHandler(\n backend: HttpBackend, interceptors: HttpInterceptor[] | null) {\n const realBackend: HttpBackend = interceptingHandler(backend, interceptors);\n return new ZoneClientBackend(realBackend);\n}\n\nexport const SERVER_HTTP_PROVIDERS: Provider[] = [\n {provide: Http, useFactory: httpFactory, deps: [XHRBackend, RequestOptions]},\n {provide: BrowserXhr, useClass: ServerXhr}, {provide: XSRFStrategy, useClass: ServerXsrfStrategy},\n {provide: XhrFactory, useClass: ServerXhr}, {\n provide: HttpHandler,\n useFactory: zoneWrappedInterceptingHandler,\n deps: [HttpBackend, [new Optional(), HTTP_INTERCEPTORS]]\n }\n];\n","/**\n * @license\n * Copyright Google Inc. 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 * @experimental\n */\nexport interface PlatformConfig {\n document?: string;\n url?: string;\n}\n\n/**\n * The DI token for setting the initial config for the platform.\n *\n * @experimental\n */\nexport const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL_CONFIG');\n\n/**\n * A function that will be executed when calling `renderModuleFactory` or `renderModule` just\n * before current platform state is rendered to string.\n *\n * @experimental\n */\nexport const BEFORE_APP_SERIALIZED =\n new InjectionToken<Array<() => void>>('Server.RENDER_MODULE_HOOK');\n","/**\n * @license\n * Copyright Google Inc. 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 {LocationChangeEvent, LocationChangeListener, PlatformLocation} from '@angular/common';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\nimport {Subject} from 'rxjs';\nimport * as url from 'url';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\n\nfunction parseUrl(urlStr: string): {pathname: string, search: string, hash: string} {\n const parsedUrl = url.parse(urlStr);\n return {\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 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 && !!config.url) {\n const parsedUrl = parseUrl(config.url);\n this.pathname = parsedUrl.pathname;\n this.search = parsedUrl.search;\n this.hash = parsedUrl.hash;\n }\n }\n\n getBaseHrefFromDOM(): string { return getDOM().getBaseHref(this._doc) !; }\n\n onPopState(fn: LocationChangeListener): void {\n // No-op: a state stack is not implemented, so\n // no events will ever come.\n }\n\n onHashChange(fn: LocationChangeListener): void { this._hashUpdate.subscribe(fn); }\n\n get url(): string { return `${this.pathname}${this.search}${this.hash}`; }\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(() => this._hashUpdate.next({\n type: 'hashchange', state: null, oldUrl, newUrl\n } 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 { throw new Error('Not implemented'); }\n\n back(): void { throw new Error('Not implemented'); }\n}\n\nexport function scheduleMicroTask(fn: Function) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n","/**\n * @license\n * Copyright Google Inc. 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 {DomElementSchemaRegistry} from '@angular/compiler';\nimport {APP_ID, Inject, Injectable, NgZone, RenderComponentType, Renderer, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2, RootRenderer, ViewEncapsulation, ɵstringify as stringify} from '@angular/core';\nimport {DOCUMENT, ɵNAMESPACE_URIS as NAMESPACE_URIS, ɵSharedStylesHost as SharedStylesHost, ɵflattenStyles as flattenStyles, ɵgetDOM as getDOM, ɵshimContentAttribute as shimContentAttribute, ɵshimHostAttribute as shimHostAttribute} from '@angular/platform-browser';\n\nconst EMPTY_ARRAY: any[] = [];\n\n@Injectable()\nexport class ServerRendererFactory2 implements RendererFactory2 {\n private rendererByCompId = new Map<string, Renderer2>();\n private defaultRenderer: Renderer2;\n private schema = new DomElementSchemaRegistry();\n\n constructor(\n private ngZone: NgZone, @Inject(DOCUMENT) private document: any,\n private sharedStylesHost: SharedStylesHost) {\n this.defaultRenderer = new DefaultServerRenderer2(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.Native:\n case ViewEncapsulation.Emulated: {\n let renderer = this.rendererByCompId.get(type.id);\n if (!renderer) {\n renderer = new EmulatedEncapsulationServerRenderer2(\n this.document, this.ngZone, this.sharedStylesHost, this.schema, type);\n this.rendererByCompId.set(type.id, renderer);\n }\n (<EmulatedEncapsulationServerRenderer2>renderer).applyToHost(element);\n return renderer;\n }\n case ViewEncapsulation.Native:\n throw new Error('Native encapsulation is not supported on the server!');\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 document: any, private ngZone: NgZone, private schema: DomElementSchemaRegistry) {}\n\n destroy(): void {}\n\n destroyNode: null;\n\n createElement(name: string, namespace?: string, debugInfo?: any): any {\n if (namespace) {\n return getDOM().createElementNS(NAMESPACE_URIS[namespace], name);\n }\n\n return getDOM().createElement(name);\n }\n\n createComment(value: string, debugInfo?: any): any { return getDOM().createComment(value); }\n\n createText(value: string, debugInfo?: any): any { return getDOM().createTextNode(value); }\n\n appendChild(parent: any, newChild: any): void { getDOM().appendChild(parent, newChild); }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n getDOM().insertBefore(parent, refChild, newChild);\n }\n }\n\n removeChild(parent: any, oldChild: any): void {\n if (parent) {\n getDOM().removeChild(parent, oldChild);\n }\n }\n\n selectRootElement(selectorOrNode: string|any, debugInfo?: any): any {\n let el: any;\n if (typeof selectorOrNode === 'string') {\n el = getDOM().querySelector(this.document, selectorOrNode);\n if (!el) {\n throw new Error(`The selector \"${selectorOrNode}\" did not match any elements`);\n }\n } else {\n el = selectorOrNode;\n }\n getDOM().clearNodes(el);\n return el;\n }\n\n parentNode(node: any): any { return getDOM().parentElement(node); }\n\n nextSibling(node: any): any { return getDOM().nextSibling(node); }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\n if (namespace) {\n getDOM().setAttributeNS(el, NAMESPACE_URIS[namespace], namespace + ':' + name, value);\n } else {\n getDOM().setAttribute(el, name, value);\n }\n }\n\n removeAttribute(el: any, name: string, namespace?: string): void {\n if (namespace) {\n getDOM().removeAttributeNS(el, NAMESPACE_URIS[namespace], name);\n } else {\n getDOM().removeAttribute(el, name);\n }\n }\n\n addClass(el: any, name: string): void { getDOM().addClass(el, name); }\n\n removeClass(el: any, name: string): void { getDOM().removeClass(el, name); }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n getDOM().setStyle(el, style, value);\n }\n\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n getDOM().removeStyle(el, style);\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 getDOM().setProperty(el, name, value);\n // Mirror property values for known HTML element properties in the attributes.\n const tagName = (el.tagName as string).toLowerCase();\n if (value != null && (typeof value === 'number' || typeof value == 'string') &&\n 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 { getDOM().setText(node, value); }\n\n listen(\n target: 'document'|'window'|'body'|any, eventName: string,\n callback: (event: any) => boolean): () => void {\n // Note: We are not using the EventsPlugin here as this is not needed\n // to run our tests.\n checkNoSyntheticProp(eventName, 'listener');\n const el =\n typeof target === 'string' ? getDOM().getGlobalEventTarget(this.document, target) : target;\n const outsideHandler = (event: any) => this.ngZone.runGuarded(() => callback(event));\n return this.ngZone.runOutsideAngular(\n () => getDOM().onAndCancel(el, eventName, outsideHandler) as any);\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(\n `Found the synthetic ${nameKind} ${name}. Please include either \"BrowserAnimationsModule\" or \"NoopAnimationsModule\" in your application.`);\n }\n}\n\nclass EmulatedEncapsulationServerRenderer2 extends DefaultServerRenderer2 {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n document: any, ngZone: NgZone, sharedStylesHost: SharedStylesHost,\n schema: DomElementSchemaRegistry, private component: RendererType2) {\n super(document, ngZone, schema);\n const styles = flattenStyles(component.id, component.styles, []);\n sharedStylesHost.addStyles(styles);\n\n this.contentAttr = shimContentAttribute(component.id);\n this.hostAttr = shimHostAttribute(component.id);\n }\n\n applyToHost(element: any) { super.setAttribute(element, this.hostAttr, ''); }\n\n 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","/**\n * @license\n * Copyright Google Inc. 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, Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT, ɵDomAdapter as DomAdapter, ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\n@Injectable()\nexport class ServerStylesHost extends SharedStylesHost {\n private head: any = null;\n\n constructor(\n @Inject(DOCUMENT) private doc: any,\n @Optional() @Inject(ɵTRANSITION_ID) private transitionId: string) {\n super();\n this.head = getDOM().getElementsByTagName(doc, 'head')[0];\n }\n\n private _addStyle(style: string): void {\n let adapter = getDOM();\n const el = adapter.createElement('style');\n adapter.setText(el, style);\n if (!!this.transitionId) {\n adapter.setAttribute(el, 'ng-transition', this.transitionId);\n }\n adapter.appendChild(this.head, el);\n }\n\n onStylesAdded(additions: Set<string>) { additions.forEach(style => this._addStyle(style)); }\n}\n","/**\n * @license\n * Copyright Google Inc. 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 {PlatformLocation, ɵPLATFORM_SERVER_ID as PLATFORM_SERVER_ID} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {Injectable, InjectionToken, Injector, NgModule, NgZone, Optional, PLATFORM_ID, PLATFORM_INITIALIZER, PlatformRef, Provider, RendererFactory2, RootRenderer, StaticProvider, Testability, createPlatformFactory, isDevMode, platformCore, ɵALLOW_MULTIPLE_PLATFORMS as ALLOW_MULTIPLE_PLATFORMS} from '@angular/core';\nimport {HttpModule} from '@angular/http';\nimport {BrowserModule, DOCUMENT, ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID, ɵgetDOM as getDOM} 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 {ServerRendererFactory2} from './server_renderer';\nimport {ServerStylesHost} from './styles_host';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\nfunction notSupported(feature: string): Error {\n throw new Error(`platform-server does not support '${feature}'.`);\n}\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, deps: [Injector]}, {\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(injector: Injector) {\n return () => { DominoAdapter.makeCurrent(); };\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];\n\n/**\n * The ng module for the server.\n *\n * @experimental\n */\n@NgModule({\n exports: [BrowserModule],\n imports: [HttpModule, HttpClientModule, NoopAnimationsModule],\n providers: [\n SERVER_RENDER_PROVIDERS,\n SERVER_HTTP_PROVIDERS,\n {provide: Testability, useValue: null},\n ],\n})\nexport class ServerModule {\n}\n\nfunction _document(injector: Injector) {\n let config: PlatformConfig|null = injector.get(INITIAL_CONFIG, null);\n if (config && config.document) {\n return parseDocument(config.document, config.url);\n } else {\n return getDOM().createHtmlDocument();\n }\n}\n\n/**\n * @experimental\n */\nexport const platformServer =\n createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n\n/**\n * The server platform that supports the runtime compiler.\n *\n * @experimental\n */\nexport const platformDynamicServer =\n createPlatformFactory(platformCoreDynamic, 'serverDynamic', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n","/**\n * @license\n * Copyright Google Inc. 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 {APP_ID, NgModule} from '@angular/core';\nimport {DOCUMENT, TransferState, ɵescapeHtml as escapeHtml} from '@angular/platform-browser';\n\nimport {BEFORE_APP_SERIALIZED} from './tokens';\n\nexport function serializeTransferStateFactory(\n doc: Document, appId: string, transferStore: TransferState) {\n return () => {\n const script = doc.createElement('script');\n script.id = appId + '-state';\n script.setAttribute('type', 'application/json');\n script.textContent = escapeHtml(transferStore.toJson());\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 * @experimental\n */\n@NgModule({\n providers: [\n TransferState, {\n provide: BEFORE_APP_SERIALIZED,\n useFactory: serializeTransferStateFactory,\n deps: [DOCUMENT, APP_ID, TransferState],\n multi: true,\n }\n ]\n})\nexport class ServerTransferStateModule {\n}\n","/**\n * @license\n * Copyright Google Inc. 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, NgModuleFactory, NgModuleRef, PlatformRef, StaticProvider, Type} from '@angular/core';\nimport {ɵTRANSITION_ID} from '@angular/platform-browser';\nimport {first} from 'rxjs/operators';\n\nimport {PlatformState} from './platform_state';\nimport {platformDynamicServer, platformServer} from './server';\nimport {BEFORE_APP_SERIALIZED, INITIAL_CONFIG} from './tokens';\n\ninterface PlatformOptions {\n document?: string;\n url?: string;\n extraProviders?: StaticProvider[];\n}\n\nfunction _getPlatform(\n platformFactory: (extraProviders: StaticProvider[]) => PlatformRef,\n options: PlatformOptions): PlatformRef {\n const extraProviders = options.extraProviders ? options.extraProviders : [];\n return platformFactory([\n {provide: INITIAL_CONFIG, useValue: {document: options.document, url: options.url}},\n extraProviders\n ]);\n}\n\nfunction _render<T>(\n platform: PlatformRef, moduleRefPromise: Promise<NgModuleRef<T>>): Promise<string> {\n return moduleRefPromise.then((moduleRef) => {\n const transitionId = moduleRef.injector.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 = moduleRef.injector.get(ApplicationRef);\n return applicationRef.isStable.pipe((first((isStable: boolean) => isStable)))\n .toPromise()\n .then(() => {\n const platformState = platform.injector.get(PlatformState);\n\n // Run any BEFORE_APP_SERIALIZED callbacks just before rendering to string.\n const callbacks = moduleRef.injector.get(BEFORE_APP_SERIALIZED, null);\n if (callbacks) {\n for (const callback of callbacks) {\n try {\n callback();\n } catch (e) {\n // Ignore exceptions.\n console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', e);\n }\n }\n }\n\n const output = platformState.renderToString();\n platform.destroy();\n return output;\n });\n });\n}\n\n/**\n * Renders a Module to string.\n *\n * `document` is the full document HTML of the page to render, as a string.\n * `url` is the URL for the current render request.\n * `extraProviders` are the platform level providers for the current render request.\n *\n * Do not use this in a production server environment. Use pre-compiled {@link NgModuleFactory} with\n * {@link renderModuleFactory} instead.\n *\n * @experimental\n */\nexport function renderModule<T>(\n module: Type<T>, options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):\n Promise<string> {\n const platform = _getPlatform(platformDynamicServer, options);\n return _render(platform, platform.bootstrapModule(module));\n}\n\n/**\n * Renders a {@link NgModuleFactory} to string.\n *\n * `document` is the full document HTML of the page to render, as a string.\n * `url` is the URL for the current render request.\n * `extraProviders` are the platform level providers for the current render request.\n *\n * @experimental\n */\nexport function renderModuleFactory<T>(\n moduleFactory: NgModuleFactory<T>,\n options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):\n Promise<string> {\n const platform = _getPlatform(platformServer, options);\n return _render(platform, platform.bootstrapModuleFactory(moduleFactory));\n}\n","/**\n * @license\n * Copyright Google Inc. 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 common package.\n */\n\nimport {Version} from '@angular/core';\n/**\n *\n */\nexport const VERSION = new Version('6.0.0-rc.6');\n","/**\n * @license\n * Copyright Google Inc. 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 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 * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SERVER_HTTP_PROVIDERS as ɵangular_packages_platform_server_platform_server_h,ServerXhr as ɵangular_packages_platform_server_platform_server_d,ServerXsrfStrategy as ɵangular_packages_platform_server_platform_server_e,httpFactory as ɵangular_packages_platform_server_platform_server_f,zoneWrappedInterceptingHandler as ɵangular_packages_platform_server_platform_server_g} from './src/http';\nexport {instantiateServerRendererFactory as ɵangular_packages_platform_server_platform_server_a} from './src/server';\nexport {ServerStylesHost as ɵangular_packages_platform_server_platform_server_c} from './src/styles_host';\nexport {serializeTransferStateFactory as ɵangular_packages_platform_server_platform_server_b} from './src/transfer_state';"],"names":["url","BrowserDomAdapter","setRootDomAdapter","interceptingHandler","url.parse","getDOM","flattenStyles","SharedStylesHost","NAMESPACE_URIS","shimContentAttribute","shimHostAttribute","PLATFORM_SERVER_ID","ALLOW_MULTIPLE_PLATFORMS","platformCoreDynamic","escapeHtml"],"mappings":"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"}
{"version":3,"file":"platform-server.js","sources":["../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/src/domino_adapter.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/src/platform_state.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/src/http.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/src/tokens.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/src/location.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/src/server_renderer.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/src/styles_host.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/src/server.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/src/transfer_state.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/src/utils.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/src/version.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/public_api.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/platform-server.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. 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 */\nconst domino = require('domino');\n\nimport {ɵBrowserDomAdapter as BrowserDomAdapter, ɵsetRootDomAdapter as setRootDomAdapter} from '@angular/platform-browser';\n\nfunction _notImplemented(methodName: string) {\n return new Error('This method is not implemented in DominoAdapter: ' + methodName);\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 makeCurrent() { setRootDomAdapter(new DominoAdapter()); }\n\n private static defaultDoc: Document;\n\n logError(error: string) { console.error(error); }\n\n log(error: string) {\n // tslint:disable-next-line:no-console\n console.log(error);\n }\n\n logGroup(error: string) { console.error(error); }\n\n logGroupEnd() {}\n\n supportsDOMEvents(): boolean { return false; }\n supportsNativeShadowDOM(): boolean { return false; }\n\n contains(nodeA: any, nodeB: any): boolean {\n let inner = nodeB;\n while (inner) {\n if (inner === nodeA) return true;\n inner = inner.parent;\n }\n return false;\n }\n\n createHtmlDocument(): HTMLDocument {\n return parseDocument('<html><head><title>fakeTitle</title></head><body></body></html>');\n }\n\n getDefaultDocument(): Document {\n if (!DominoAdapter.defaultDoc) {\n DominoAdapter.defaultDoc = domino.createDocument();\n }\n return DominoAdapter.defaultDoc;\n }\n\n createShadowRoot(el: any, doc: Document = document): DocumentFragment {\n el.shadowRoot = doc.createDocumentFragment();\n el.shadowRoot.parent = el;\n return el.shadowRoot;\n }\n getShadowRoot(el: any): DocumentFragment { return el.shadowRoot; }\n\n isTextNode(node: any): boolean { return node.nodeType === DominoAdapter.defaultDoc.TEXT_NODE; }\n isCommentNode(node: any): boolean {\n return node.nodeType === DominoAdapter.defaultDoc.COMMENT_NODE;\n }\n isElementNode(node: any): boolean {\n return node ? node.nodeType === DominoAdapter.defaultDoc.ELEMENT_NODE : false;\n }\n hasShadowRoot(node: any): boolean { return node.shadowRoot != null; }\n isShadowRoot(node: any): boolean { return this.getShadowRoot(node) == node; }\n\n getProperty(el: Element, name: string): any {\n if (name === 'href') {\n // Domino tries tp resolve href-s which we do not want. Just return the\n // attribute value.\n return this.getAttribute(el, 'href');\n } else if (name === 'innerText') {\n // Domino does not support innerText. Just map it to textContent.\n return el.textContent;\n }\n return (<any>el)[name];\n }\n\n setProperty(el: Element, name: string, value: any) {\n if (name === 'href') {\n // Even though the server renderer reflects any properties to attributes\n // map 'href' to attribute just to handle when setProperty is directly called.\n this.setAttribute(el, 'href', value);\n } else 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 }\n\n 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 getBaseHref(doc: Document): string {\n const base = this.querySelector(doc.documentElement, 'base');\n let href = '';\n if (base) {\n href = this.getHref(base);\n }\n // TODO(alxhub): Need relative path logic from BrowserDomAdapter here?\n return href;\n }\n\n /** @internal */\n _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.substr(0, colonIndex).trim();\n styleMap[name] = style.substr(colonIndex + 1).trim();\n }\n }\n }\n return styleMap;\n }\n /** @internal */\n _writeStyleAttribute(element: any, styleMap: {[name: string]: string}) {\n let styleAttrValue = '';\n for (const key in styleMap) {\n const newValue = styleMap[key];\n if (newValue) {\n styleAttrValue += key + ':' + styleMap[key] + ';';\n }\n }\n element.setAttribute('style', styleAttrValue);\n }\n setStyle(element: any, styleName: string, styleValue?: string|null) {\n styleName = styleName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n const styleMap = this._readStyleAttribute(element);\n styleMap[styleName] = styleValue || '';\n this._writeStyleAttribute(element, styleMap);\n }\n removeStyle(element: any, styleName: string) {\n // IE requires '' instead of null\n // see https://github.com/angular/angular/issues/7916\n this.setStyle(element, styleName, '');\n }\n getStyle(element: any, styleName: string): string {\n const styleMap = this._readStyleAttribute(element);\n return styleMap[styleName] || '';\n }\n hasStyle(element: any, styleName: string, styleValue?: string): boolean {\n const value = this.getStyle(element, styleName);\n return styleValue ? value == styleValue : value.length > 0;\n }\n\n 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 getHistory(): History { throw _notImplemented('getHistory'); }\n getLocation(): Location { throw _notImplemented('getLocation'); }\n getUserAgent(): string { return 'Fake user agent'; }\n\n supportsWebAnimation(): boolean { return false; }\n performanceNow(): number { return Date.now(); }\n getAnimationPrefix(): string { return ''; }\n getTransitionEnd(): string { return 'transitionend'; }\n supportsAnimation(): boolean { return true; }\n\n getDistributedNodes(el: any): Node[] { throw _notImplemented('getDistributedNodes'); }\n\n supportsCookies(): boolean { return false; }\n getCookie(name: string): string { throw _notImplemented('getCookie'); }\n setCookie(name: string, value: string) { throw _notImplemented('setCookie'); }\n}\n","/**\n * @license\n * Copyright Google Inc. 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 {Inject, Injectable} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\nimport {serializeDocument} from './domino_adapter';\n\n/**\n * Representation of the current platform state.\n *\n * @experimental\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 { return serializeDocument(this._doc); }\n\n /**\n * Returns the current DOM state.\n */\n getDocument(): any { return this._doc; }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nconst xhr2: any = require('xhr2');\n\nimport {Injectable, Optional, Provider} from '@angular/core';\nimport {BrowserXhr, Connection, ConnectionBackend, Http, ReadyState, Request, RequestOptions, Response, XHRBackend, XSRFStrategy} from '@angular/http';\n\nimport {HttpEvent, HttpRequest, HttpHandler, HttpInterceptor, HTTP_INTERCEPTORS, HttpBackend, XhrFactory, ɵinterceptingHandler as interceptingHandler} from '@angular/common/http';\n\nimport {Observable, Observer, Subscription} from 'rxjs';\n\nconst isAbsoluteUrl = /^[a-zA-Z\\-\\+.]+:\\/\\//;\n\nfunction validateRequestUrl(url: string): void {\n if (!isAbsoluteUrl.test(url)) {\n throw new Error(`URLs requested via Http on the server must be absolute. URL: ${url}`);\n }\n}\n\n@Injectable()\nexport class ServerXhr implements BrowserXhr {\n build(): XMLHttpRequest { return new xhr2.XMLHttpRequest(); }\n}\n\n@Injectable()\nexport class ServerXsrfStrategy implements XSRFStrategy {\n configureRequest(req: Request): void {}\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 ZoneMacroTaskConnection extends ZoneMacroTaskWrapper<Request, Response> implements\n Connection {\n response: Observable<Response>;\n lastConnection: Connection;\n\n constructor(public request: Request, private backend: XHRBackend) {\n super();\n validateRequestUrl(request.url);\n this.response = this.wrap(request);\n }\n\n delegate(request: Request): Observable<Response> {\n this.lastConnection = this.backend.createConnection(request);\n return this.lastConnection.response as Observable<Response>;\n }\n\n get readyState(): ReadyState {\n return !!this.lastConnection ? this.lastConnection.readyState : ReadyState.Unsent;\n }\n}\n\nexport class ZoneMacroTaskBackend implements ConnectionBackend {\n constructor(private backend: XHRBackend) {}\n\n createConnection(request: any): ZoneMacroTaskConnection {\n return new ZoneMacroTaskConnection(request, this.backend);\n }\n}\n\nexport class ZoneClientBackend extends\n ZoneMacroTaskWrapper<HttpRequest<any>, HttpEvent<any>> implements HttpBackend {\n constructor(private backend: HttpBackend) { super(); }\n\n handle(request: HttpRequest<any>): Observable<HttpEvent<any>> { return this.wrap(request); }\n\n protected delegate(request: HttpRequest<any>): Observable<HttpEvent<any>> {\n return this.backend.handle(request);\n }\n}\n\nexport function httpFactory(xhrBackend: XHRBackend, options: RequestOptions) {\n const macroBackend = new ZoneMacroTaskBackend(xhrBackend);\n return new Http(macroBackend, options);\n}\n\nexport function zoneWrappedInterceptingHandler(\n backend: HttpBackend, interceptors: HttpInterceptor[] | null) {\n const realBackend: HttpBackend = interceptingHandler(backend, interceptors);\n return new ZoneClientBackend(realBackend);\n}\n\nexport const SERVER_HTTP_PROVIDERS: Provider[] = [\n {provide: Http, useFactory: httpFactory, deps: [XHRBackend, RequestOptions]},\n {provide: BrowserXhr, useClass: ServerXhr}, {provide: XSRFStrategy, useClass: ServerXsrfStrategy},\n {provide: XhrFactory, useClass: ServerXhr}, {\n provide: HttpHandler,\n useFactory: zoneWrappedInterceptingHandler,\n deps: [HttpBackend, [new Optional(), HTTP_INTERCEPTORS]]\n }\n];\n","/**\n * @license\n * Copyright Google Inc. 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 * @experimental\n */\nexport interface PlatformConfig {\n document?: string;\n url?: string;\n}\n\n/**\n * The DI token for setting the initial config for the platform.\n *\n * @experimental\n */\nexport const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL_CONFIG');\n\n/**\n * A function that will be executed when calling `renderModuleFactory` or `renderModule` just\n * before current platform state is rendered to string.\n *\n * @experimental\n */\nexport const BEFORE_APP_SERIALIZED =\n new InjectionToken<Array<() => void>>('Server.RENDER_MODULE_HOOK');\n","/**\n * @license\n * Copyright Google Inc. 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 {LocationChangeEvent, LocationChangeListener, PlatformLocation} from '@angular/common';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\nimport {Subject} from 'rxjs';\nimport * as url from 'url';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\n\nfunction parseUrl(urlStr: string): {pathname: string, search: string, hash: string} {\n const parsedUrl = url.parse(urlStr);\n return {\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 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 && !!config.url) {\n const parsedUrl = parseUrl(config.url);\n this.pathname = parsedUrl.pathname;\n this.search = parsedUrl.search;\n this.hash = parsedUrl.hash;\n }\n }\n\n getBaseHrefFromDOM(): string { return getDOM().getBaseHref(this._doc) !; }\n\n onPopState(fn: LocationChangeListener): void {\n // No-op: a state stack is not implemented, so\n // no events will ever come.\n }\n\n onHashChange(fn: LocationChangeListener): void { this._hashUpdate.subscribe(fn); }\n\n get url(): string { return `${this.pathname}${this.search}${this.hash}`; }\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(() => this._hashUpdate.next({\n type: 'hashchange', state: null, oldUrl, newUrl\n } 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 { throw new Error('Not implemented'); }\n\n back(): void { throw new Error('Not implemented'); }\n}\n\nexport function scheduleMicroTask(fn: Function) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n","/**\n * @license\n * Copyright Google Inc. 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 {DomElementSchemaRegistry} from '@angular/compiler';\nimport {APP_ID, Inject, Injectable, NgZone, RenderComponentType, Renderer, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2, RootRenderer, ViewEncapsulation, ɵstringify as stringify} from '@angular/core';\nimport {DOCUMENT, ɵNAMESPACE_URIS as NAMESPACE_URIS, ɵSharedStylesHost as SharedStylesHost, ɵflattenStyles as flattenStyles, ɵgetDOM as getDOM, ɵshimContentAttribute as shimContentAttribute, ɵshimHostAttribute as shimHostAttribute} from '@angular/platform-browser';\n\nconst EMPTY_ARRAY: any[] = [];\n\n@Injectable()\nexport class ServerRendererFactory2 implements RendererFactory2 {\n private rendererByCompId = new Map<string, Renderer2>();\n private defaultRenderer: Renderer2;\n private schema = new DomElementSchemaRegistry();\n\n constructor(\n private ngZone: NgZone, @Inject(DOCUMENT) private document: any,\n private sharedStylesHost: SharedStylesHost) {\n this.defaultRenderer = new DefaultServerRenderer2(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.Native:\n case ViewEncapsulation.Emulated: {\n let renderer = this.rendererByCompId.get(type.id);\n if (!renderer) {\n renderer = new EmulatedEncapsulationServerRenderer2(\n this.document, this.ngZone, this.sharedStylesHost, this.schema, type);\n this.rendererByCompId.set(type.id, renderer);\n }\n (<EmulatedEncapsulationServerRenderer2>renderer).applyToHost(element);\n return renderer;\n }\n case ViewEncapsulation.Native:\n throw new Error('Native encapsulation is not supported on the server!');\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 document: any, private ngZone: NgZone, private schema: DomElementSchemaRegistry) {}\n\n destroy(): void {}\n\n destroyNode: null;\n\n createElement(name: string, namespace?: string, debugInfo?: any): any {\n if (namespace) {\n return getDOM().createElementNS(NAMESPACE_URIS[namespace], name);\n }\n\n return getDOM().createElement(name);\n }\n\n createComment(value: string, debugInfo?: any): any { return getDOM().createComment(value); }\n\n createText(value: string, debugInfo?: any): any { return getDOM().createTextNode(value); }\n\n appendChild(parent: any, newChild: any): void { getDOM().appendChild(parent, newChild); }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n getDOM().insertBefore(parent, refChild, newChild);\n }\n }\n\n removeChild(parent: any, oldChild: any): void {\n if (parent) {\n getDOM().removeChild(parent, oldChild);\n }\n }\n\n selectRootElement(selectorOrNode: string|any, debugInfo?: any): any {\n let el: any;\n if (typeof selectorOrNode === 'string') {\n el = getDOM().querySelector(this.document, selectorOrNode);\n if (!el) {\n throw new Error(`The selector \"${selectorOrNode}\" did not match any elements`);\n }\n } else {\n el = selectorOrNode;\n }\n getDOM().clearNodes(el);\n return el;\n }\n\n parentNode(node: any): any { return getDOM().parentElement(node); }\n\n nextSibling(node: any): any { return getDOM().nextSibling(node); }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\n if (namespace) {\n getDOM().setAttributeNS(el, NAMESPACE_URIS[namespace], namespace + ':' + name, value);\n } else {\n getDOM().setAttribute(el, name, value);\n }\n }\n\n removeAttribute(el: any, name: string, namespace?: string): void {\n if (namespace) {\n getDOM().removeAttributeNS(el, NAMESPACE_URIS[namespace], name);\n } else {\n getDOM().removeAttribute(el, name);\n }\n }\n\n addClass(el: any, name: string): void { getDOM().addClass(el, name); }\n\n removeClass(el: any, name: string): void { getDOM().removeClass(el, name); }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n getDOM().setStyle(el, style, value);\n }\n\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n getDOM().removeStyle(el, style);\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 getDOM().setProperty(el, name, value);\n // Mirror property values for known HTML element properties in the attributes.\n const tagName = (el.tagName as string).toLowerCase();\n if (value != null && (typeof value === 'number' || typeof value == 'string') &&\n 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 { getDOM().setText(node, value); }\n\n listen(\n target: 'document'|'window'|'body'|any, eventName: string,\n callback: (event: any) => boolean): () => void {\n // Note: We are not using the EventsPlugin here as this is not needed\n // to run our tests.\n checkNoSyntheticProp(eventName, 'listener');\n const el =\n typeof target === 'string' ? getDOM().getGlobalEventTarget(this.document, target) : target;\n const outsideHandler = (event: any) => this.ngZone.runGuarded(() => callback(event));\n return this.ngZone.runOutsideAngular(\n () => getDOM().onAndCancel(el, eventName, outsideHandler) as any);\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(\n `Found the synthetic ${nameKind} ${name}. Please include either \"BrowserAnimationsModule\" or \"NoopAnimationsModule\" in your application.`);\n }\n}\n\nclass EmulatedEncapsulationServerRenderer2 extends DefaultServerRenderer2 {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n document: any, ngZone: NgZone, sharedStylesHost: SharedStylesHost,\n schema: DomElementSchemaRegistry, private component: RendererType2) {\n super(document, ngZone, schema);\n const styles = flattenStyles(component.id, component.styles, []);\n sharedStylesHost.addStyles(styles);\n\n this.contentAttr = shimContentAttribute(component.id);\n this.hostAttr = shimHostAttribute(component.id);\n }\n\n applyToHost(element: any) { super.setAttribute(element, this.hostAttr, ''); }\n\n 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","/**\n * @license\n * Copyright Google Inc. 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, Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT, ɵDomAdapter as DomAdapter, ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\n@Injectable()\nexport class ServerStylesHost extends SharedStylesHost {\n private head: any = null;\n\n constructor(\n @Inject(DOCUMENT) private doc: any,\n @Optional() @Inject(ɵTRANSITION_ID) private transitionId: string) {\n super();\n this.head = getDOM().getElementsByTagName(doc, 'head')[0];\n }\n\n private _addStyle(style: string): void {\n let adapter = getDOM();\n const el = adapter.createElement('style');\n adapter.setText(el, style);\n if (!!this.transitionId) {\n adapter.setAttribute(el, 'ng-transition', this.transitionId);\n }\n adapter.appendChild(this.head, el);\n }\n\n onStylesAdded(additions: Set<string>) { additions.forEach(style => this._addStyle(style)); }\n}\n","/**\n * @license\n * Copyright Google Inc. 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 {PlatformLocation, ɵPLATFORM_SERVER_ID as PLATFORM_SERVER_ID} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {Injectable, InjectionToken, Injector, NgModule, NgZone, Optional, PLATFORM_ID, PLATFORM_INITIALIZER, PlatformRef, Provider, RendererFactory2, RootRenderer, StaticProvider, Testability, createPlatformFactory, isDevMode, platformCore, ɵALLOW_MULTIPLE_PLATFORMS as ALLOW_MULTIPLE_PLATFORMS} from '@angular/core';\nimport {HttpModule} from '@angular/http';\nimport {BrowserModule, DOCUMENT, ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID, ɵgetDOM as getDOM} 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 {ServerRendererFactory2} from './server_renderer';\nimport {ServerStylesHost} from './styles_host';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\nfunction notSupported(feature: string): Error {\n throw new Error(`platform-server does not support '${feature}'.`);\n}\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, deps: [Injector]}, {\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(injector: Injector) {\n return () => { DominoAdapter.makeCurrent(); };\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];\n\n/**\n * The ng module for the server.\n *\n * @experimental\n */\n@NgModule({\n exports: [BrowserModule],\n imports: [HttpModule, HttpClientModule, NoopAnimationsModule],\n providers: [\n SERVER_RENDER_PROVIDERS,\n SERVER_HTTP_PROVIDERS,\n {provide: Testability, useValue: null},\n ],\n})\nexport class ServerModule {\n}\n\nfunction _document(injector: Injector) {\n let config: PlatformConfig|null = injector.get(INITIAL_CONFIG, null);\n if (config && config.document) {\n return parseDocument(config.document, config.url);\n } else {\n return getDOM().createHtmlDocument();\n }\n}\n\n/**\n * @experimental\n */\nexport const platformServer =\n createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n\n/**\n * The server platform that supports the runtime compiler.\n *\n * @experimental\n */\nexport const platformDynamicServer =\n createPlatformFactory(platformCoreDynamic, 'serverDynamic', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n","/**\n * @license\n * Copyright Google Inc. 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 {APP_ID, NgModule} from '@angular/core';\nimport {DOCUMENT, TransferState, ɵescapeHtml as escapeHtml} from '@angular/platform-browser';\n\nimport {BEFORE_APP_SERIALIZED} from './tokens';\n\nexport function serializeTransferStateFactory(\n doc: Document, appId: string, transferStore: TransferState) {\n return () => {\n const script = doc.createElement('script');\n script.id = appId + '-state';\n script.setAttribute('type', 'application/json');\n script.textContent = escapeHtml(transferStore.toJson());\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 * @experimental\n */\n@NgModule({\n providers: [\n TransferState, {\n provide: BEFORE_APP_SERIALIZED,\n useFactory: serializeTransferStateFactory,\n deps: [DOCUMENT, APP_ID, TransferState],\n multi: true,\n }\n ]\n})\nexport class ServerTransferStateModule {\n}\n","/**\n * @license\n * Copyright Google Inc. 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, NgModuleFactory, NgModuleRef, PlatformRef, StaticProvider, Type} from '@angular/core';\nimport {ɵTRANSITION_ID} from '@angular/platform-browser';\nimport {first} from 'rxjs/operators';\n\nimport {PlatformState} from './platform_state';\nimport {platformDynamicServer, platformServer} from './server';\nimport {BEFORE_APP_SERIALIZED, INITIAL_CONFIG} from './tokens';\n\ninterface PlatformOptions {\n document?: string;\n url?: string;\n extraProviders?: StaticProvider[];\n}\n\nfunction _getPlatform(\n platformFactory: (extraProviders: StaticProvider[]) => PlatformRef,\n options: PlatformOptions): PlatformRef {\n const extraProviders = options.extraProviders ? options.extraProviders : [];\n return platformFactory([\n {provide: INITIAL_CONFIG, useValue: {document: options.document, url: options.url}},\n extraProviders\n ]);\n}\n\nfunction _render<T>(\n platform: PlatformRef, moduleRefPromise: Promise<NgModuleRef<T>>): Promise<string> {\n return moduleRefPromise.then((moduleRef) => {\n const transitionId = moduleRef.injector.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 = moduleRef.injector.get(ApplicationRef);\n return applicationRef.isStable.pipe((first((isStable: boolean) => isStable)))\n .toPromise()\n .then(() => {\n const platformState = platform.injector.get(PlatformState);\n\n // Run any BEFORE_APP_SERIALIZED callbacks just before rendering to string.\n const callbacks = moduleRef.injector.get(BEFORE_APP_SERIALIZED, null);\n if (callbacks) {\n for (const callback of callbacks) {\n try {\n callback();\n } catch (e) {\n // Ignore exceptions.\n console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', e);\n }\n }\n }\n\n const output = platformState.renderToString();\n platform.destroy();\n return output;\n });\n });\n}\n\n/**\n * Renders a Module to string.\n *\n * `document` is the full document HTML of the page to render, as a string.\n * `url` is the URL for the current render request.\n * `extraProviders` are the platform level providers for the current render request.\n *\n * Do not use this in a production server environment. Use pre-compiled {@link NgModuleFactory} with\n * {@link renderModuleFactory} instead.\n *\n * @experimental\n */\nexport function renderModule<T>(\n module: Type<T>, options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):\n Promise<string> {\n const platform = _getPlatform(platformDynamicServer, options);\n return _render(platform, platform.bootstrapModule(module));\n}\n\n/**\n * Renders a {@link NgModuleFactory} to string.\n *\n * `document` is the full document HTML of the page to render, as a string.\n * `url` is the URL for the current render request.\n * `extraProviders` are the platform level providers for the current render request.\n *\n * @experimental\n */\nexport function renderModuleFactory<T>(\n moduleFactory: NgModuleFactory<T>,\n options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):\n Promise<string> {\n const platform = _getPlatform(platformServer, options);\n return _render(platform, platform.bootstrapModuleFactory(moduleFactory));\n}\n","/**\n * @license\n * Copyright Google Inc. 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 common package.\n */\n\nimport {Version} from '@angular/core';\n/**\n *\n */\nexport const VERSION = new Version('6.0.0');\n","/**\n * @license\n * Copyright Google Inc. 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 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 * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SERVER_HTTP_PROVIDERS as ɵangular_packages_platform_server_platform_server_h,ServerXhr as ɵangular_packages_platform_server_platform_server_d,ServerXsrfStrategy as ɵangular_packages_platform_server_platform_server_e,httpFactory as ɵangular_packages_platform_server_platform_server_f,zoneWrappedInterceptingHandler as ɵangular_packages_platform_server_platform_server_g} from './src/http';\nexport {instantiateServerRendererFactory as ɵangular_packages_platform_server_platform_server_a} from './src/server';\nexport {ServerStylesHost as ɵangular_packages_platform_server_platform_server_c} from './src/styles_host';\nexport {serializeTransferStateFactory as ɵangular_packages_platform_server_platform_server_b} from './src/transfer_state';"],"names":["url","BrowserDomAdapter","setRootDomAdapter","interceptingHandler","url.parse","getDOM","flattenStyles","SharedStylesHost","NAMESPACE_URIS","shimContentAttribute","shimHostAttribute","PLATFORM_SERVER_ID","ALLOW_MULTIPLE_PLATFORMS","platformCoreDynamic","escapeHtml"],"mappings":"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"}
/**
* @license Angular v6.0.0-rc.6
* @license Angular v6.0.0
* (c) 2010-2018 Google, Inc. https://angular.io/

@@ -4,0 +4,0 @@ * License: MIT

@@ -1,1 +0,1 @@

{"version":3,"file":"testing.js","sources":["../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/testing/src/server.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/testing/public_api.ts","../../../../../../../../../../execroot/angular/bazel-out/k8-fastbuild/bin/packages/platform-server/testing/testing.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. 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 {NgModule, PlatformRef, StaticProvider, createPlatformFactory} from '@angular/core';\nimport {BrowserDynamicTestingModule, ɵplatformCoreDynamicTesting as platformCoreDynamicTesting} from '@angular/platform-browser-dynamic/testing';\nimport {NoopAnimationsModule} from '@angular/platform-browser/animations';\nimport {ɵINTERNAL_SERVER_PLATFORM_PROVIDERS as INTERNAL_SERVER_PLATFORM_PROVIDERS, ɵSERVER_RENDER_PROVIDERS as SERVER_RENDER_PROVIDERS} from '@angular/platform-server';\n\n\n/**\n * Platform for testing\n *\n * @experimental API related to bootstrapping are still under review.\n */\nexport const platformServerTesting = createPlatformFactory(\n platformCoreDynamicTesting, 'serverTesting', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n\n/**\n * NgModule for testing.\n *\n * @experimental API related to bootstrapping are still under review.\n */\n@NgModule({\n exports: [BrowserDynamicTestingModule],\n imports: [NoopAnimationsModule],\n providers: SERVER_RENDER_PROVIDERS\n})\nexport class ServerTestingModule {\n}\n","/**\n * @license\n * Copyright Google Inc. 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 this package.\n */\nexport * from './src/testing';\n\n// This file only reexports content of the `src` folder. Keep it that way.\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["platformCoreDynamicTesting","INTERNAL_SERVER_PLATFORM_PROVIDERS","SERVER_RENDER_PROVIDERS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAQA;;;;;AAWA,AAAO,MAAM,qBAAqB,GAAG,qBAAqB,CACtDA,2BAA0B,EAAE,eAAe,EAAEC,mCAAkC,CAAC,CAAC;;;;;;AAYrF;;;YALC,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,2BAA2B,CAAC;gBACtC,OAAO,EAAE,CAAC,oBAAoB,CAAC;gBAC/B,SAAS,EAAEC,wBAAuB;aACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBD,AAA8B;;;;;;;;;;;;;;;;;;;ACb9B;;GAEG;;;;"}
{"version":3,"file":"testing.js","sources":["../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/testing/src/server.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/testing/public_api.ts","../../../../../../../../../../execroot/angular/bazel-out/darwin-fastbuild/bin/packages/platform-server/testing/testing.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. 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 {NgModule, PlatformRef, StaticProvider, createPlatformFactory} from '@angular/core';\nimport {BrowserDynamicTestingModule, ɵplatformCoreDynamicTesting as platformCoreDynamicTesting} from '@angular/platform-browser-dynamic/testing';\nimport {NoopAnimationsModule} from '@angular/platform-browser/animations';\nimport {ɵINTERNAL_SERVER_PLATFORM_PROVIDERS as INTERNAL_SERVER_PLATFORM_PROVIDERS, ɵSERVER_RENDER_PROVIDERS as SERVER_RENDER_PROVIDERS} from '@angular/platform-server';\n\n\n/**\n * Platform for testing\n *\n * @experimental API related to bootstrapping are still under review.\n */\nexport const platformServerTesting = createPlatformFactory(\n platformCoreDynamicTesting, 'serverTesting', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n\n/**\n * NgModule for testing.\n *\n * @experimental API related to bootstrapping are still under review.\n */\n@NgModule({\n exports: [BrowserDynamicTestingModule],\n imports: [NoopAnimationsModule],\n providers: SERVER_RENDER_PROVIDERS\n})\nexport class ServerTestingModule {\n}\n","/**\n * @license\n * Copyright Google Inc. 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 this package.\n */\nexport * from './src/testing';\n\n// This file only reexports content of the `src` folder. Keep it that way.\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["platformCoreDynamicTesting","INTERNAL_SERVER_PLATFORM_PROVIDERS","SERVER_RENDER_PROVIDERS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAQA;;;;;AAWA,AAAO,MAAM,qBAAqB,GAAG,qBAAqB,CACtDA,2BAA0B,EAAE,eAAe,EAAEC,mCAAkC,CAAC,CAAC;;;;;;AAYrF;;;YALC,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,2BAA2B,CAAC;gBACtC,OAAO,EAAE,CAAC,oBAAoB,CAAC;gBAC/B,SAAS,EAAEC,wBAAuB;aACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBD,AAA8B;;;;;;;;;;;;;;;;;;;ACb9B;;GAEG;;;;"}
/**
* @license Angular v6.0.0-rc.6
* @license Angular v6.0.0
* (c) 2010-2018 Google, Inc. https://angular.io/

@@ -996,3 +996,3 @@ * License: MIT

*/
var VERSION = new Version('6.0.0-rc.6');
var VERSION = new Version('6.0.0');

@@ -999,0 +999,0 @@ /**

@@ -1,1 +0,1 @@

{"version":3,"file":"platform-server.js","sources":["../../../../../../../../../../execroot/angular/packages/platform-server/src/domino_adapter.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/platform_state.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/http.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/tokens.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/location.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/server_renderer.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/styles_host.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/server.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/transfer_state.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/utils.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/version.ts","../../../../../../../../../../execroot/angular/packages/platform-server/public_api.ts","../../../../../../../../../../execroot/angular/packages/platform-server/platform-server.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. 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 */\nconst domino = require('domino');\n\nimport {ɵBrowserDomAdapter as BrowserDomAdapter, ɵsetRootDomAdapter as setRootDomAdapter} from '@angular/platform-browser';\n\nfunction _notImplemented(methodName: string) {\n return new Error('This method is not implemented in DominoAdapter: ' + methodName);\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 makeCurrent() { setRootDomAdapter(new DominoAdapter()); }\n\n private static defaultDoc: Document;\n\n logError(error: string) { console.error(error); }\n\n log(error: string) {\n // tslint:disable-next-line:no-console\n console.log(error);\n }\n\n logGroup(error: string) { console.error(error); }\n\n logGroupEnd() {}\n\n supportsDOMEvents(): boolean { return false; }\n supportsNativeShadowDOM(): boolean { return false; }\n\n contains(nodeA: any, nodeB: any): boolean {\n let inner = nodeB;\n while (inner) {\n if (inner === nodeA) return true;\n inner = inner.parent;\n }\n return false;\n }\n\n createHtmlDocument(): HTMLDocument {\n return parseDocument('<html><head><title>fakeTitle</title></head><body></body></html>');\n }\n\n getDefaultDocument(): Document {\n if (!DominoAdapter.defaultDoc) {\n DominoAdapter.defaultDoc = domino.createDocument();\n }\n return DominoAdapter.defaultDoc;\n }\n\n createShadowRoot(el: any, doc: Document = document): DocumentFragment {\n el.shadowRoot = doc.createDocumentFragment();\n el.shadowRoot.parent = el;\n return el.shadowRoot;\n }\n getShadowRoot(el: any): DocumentFragment { return el.shadowRoot; }\n\n isTextNode(node: any): boolean { return node.nodeType === DominoAdapter.defaultDoc.TEXT_NODE; }\n isCommentNode(node: any): boolean {\n return node.nodeType === DominoAdapter.defaultDoc.COMMENT_NODE;\n }\n isElementNode(node: any): boolean {\n return node ? node.nodeType === DominoAdapter.defaultDoc.ELEMENT_NODE : false;\n }\n hasShadowRoot(node: any): boolean { return node.shadowRoot != null; }\n isShadowRoot(node: any): boolean { return this.getShadowRoot(node) == node; }\n\n getProperty(el: Element, name: string): any {\n if (name === 'href') {\n // Domino tries tp resolve href-s which we do not want. Just return the\n // attribute value.\n return this.getAttribute(el, 'href');\n } else if (name === 'innerText') {\n // Domino does not support innerText. Just map it to textContent.\n return el.textContent;\n }\n return (<any>el)[name];\n }\n\n setProperty(el: Element, name: string, value: any) {\n if (name === 'href') {\n // Even though the server renderer reflects any properties to attributes\n // map 'href' to attribute just to handle when setProperty is directly called.\n this.setAttribute(el, 'href', value);\n } else 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 }\n\n 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 getBaseHref(doc: Document): string {\n const base = this.querySelector(doc.documentElement, 'base');\n let href = '';\n if (base) {\n href = this.getHref(base);\n }\n // TODO(alxhub): Need relative path logic from BrowserDomAdapter here?\n return href;\n }\n\n /** @internal */\n _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.substr(0, colonIndex).trim();\n styleMap[name] = style.substr(colonIndex + 1).trim();\n }\n }\n }\n return styleMap;\n }\n /** @internal */\n _writeStyleAttribute(element: any, styleMap: {[name: string]: string}) {\n let styleAttrValue = '';\n for (const key in styleMap) {\n const newValue = styleMap[key];\n if (newValue) {\n styleAttrValue += key + ':' + styleMap[key] + ';';\n }\n }\n element.setAttribute('style', styleAttrValue);\n }\n setStyle(element: any, styleName: string, styleValue?: string|null) {\n styleName = styleName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n const styleMap = this._readStyleAttribute(element);\n styleMap[styleName] = styleValue || '';\n this._writeStyleAttribute(element, styleMap);\n }\n removeStyle(element: any, styleName: string) {\n // IE requires '' instead of null\n // see https://github.com/angular/angular/issues/7916\n this.setStyle(element, styleName, '');\n }\n getStyle(element: any, styleName: string): string {\n const styleMap = this._readStyleAttribute(element);\n return styleMap[styleName] || '';\n }\n hasStyle(element: any, styleName: string, styleValue?: string): boolean {\n const value = this.getStyle(element, styleName);\n return styleValue ? value == styleValue : value.length > 0;\n }\n\n 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 getHistory(): History { throw _notImplemented('getHistory'); }\n getLocation(): Location { throw _notImplemented('getLocation'); }\n getUserAgent(): string { return 'Fake user agent'; }\n\n supportsWebAnimation(): boolean { return false; }\n performanceNow(): number { return Date.now(); }\n getAnimationPrefix(): string { return ''; }\n getTransitionEnd(): string { return 'transitionend'; }\n supportsAnimation(): boolean { return true; }\n\n getDistributedNodes(el: any): Node[] { throw _notImplemented('getDistributedNodes'); }\n\n supportsCookies(): boolean { return false; }\n getCookie(name: string): string { throw _notImplemented('getCookie'); }\n setCookie(name: string, value: string) { throw _notImplemented('setCookie'); }\n}\n","/**\n * @license\n * Copyright Google Inc. 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 {Inject, Injectable} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\nimport {serializeDocument} from './domino_adapter';\n\n/**\n * Representation of the current platform state.\n *\n * @experimental\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 { return serializeDocument(this._doc); }\n\n /**\n * Returns the current DOM state.\n */\n getDocument(): any { return this._doc; }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nconst xhr2: any = require('xhr2');\n\nimport {Injectable, Optional, Provider} from '@angular/core';\nimport {BrowserXhr, Connection, ConnectionBackend, Http, ReadyState, Request, RequestOptions, Response, XHRBackend, XSRFStrategy} from '@angular/http';\n\nimport {HttpEvent, HttpRequest, HttpHandler, HttpInterceptor, HTTP_INTERCEPTORS, HttpBackend, XhrFactory, ɵinterceptingHandler as interceptingHandler} from '@angular/common/http';\n\nimport {Observable, Observer, Subscription} from 'rxjs';\n\nconst isAbsoluteUrl = /^[a-zA-Z\\-\\+.]+:\\/\\//;\n\nfunction validateRequestUrl(url: string): void {\n if (!isAbsoluteUrl.test(url)) {\n throw new Error(`URLs requested via Http on the server must be absolute. URL: ${url}`);\n }\n}\n\n@Injectable()\nexport class ServerXhr implements BrowserXhr {\n build(): XMLHttpRequest { return new xhr2.XMLHttpRequest(); }\n}\n\n@Injectable()\nexport class ServerXsrfStrategy implements XSRFStrategy {\n configureRequest(req: Request): void {}\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 ZoneMacroTaskConnection extends ZoneMacroTaskWrapper<Request, Response> implements\n Connection {\n response: Observable<Response>;\n lastConnection: Connection;\n\n constructor(public request: Request, private backend: XHRBackend) {\n super();\n validateRequestUrl(request.url);\n this.response = this.wrap(request);\n }\n\n delegate(request: Request): Observable<Response> {\n this.lastConnection = this.backend.createConnection(request);\n return this.lastConnection.response as Observable<Response>;\n }\n\n get readyState(): ReadyState {\n return !!this.lastConnection ? this.lastConnection.readyState : ReadyState.Unsent;\n }\n}\n\nexport class ZoneMacroTaskBackend implements ConnectionBackend {\n constructor(private backend: XHRBackend) {}\n\n createConnection(request: any): ZoneMacroTaskConnection {\n return new ZoneMacroTaskConnection(request, this.backend);\n }\n}\n\nexport class ZoneClientBackend extends\n ZoneMacroTaskWrapper<HttpRequest<any>, HttpEvent<any>> implements HttpBackend {\n constructor(private backend: HttpBackend) { super(); }\n\n handle(request: HttpRequest<any>): Observable<HttpEvent<any>> { return this.wrap(request); }\n\n protected delegate(request: HttpRequest<any>): Observable<HttpEvent<any>> {\n return this.backend.handle(request);\n }\n}\n\nexport function httpFactory(xhrBackend: XHRBackend, options: RequestOptions) {\n const macroBackend = new ZoneMacroTaskBackend(xhrBackend);\n return new Http(macroBackend, options);\n}\n\nexport function zoneWrappedInterceptingHandler(\n backend: HttpBackend, interceptors: HttpInterceptor[] | null) {\n const realBackend: HttpBackend = interceptingHandler(backend, interceptors);\n return new ZoneClientBackend(realBackend);\n}\n\nexport const SERVER_HTTP_PROVIDERS: Provider[] = [\n {provide: Http, useFactory: httpFactory, deps: [XHRBackend, RequestOptions]},\n {provide: BrowserXhr, useClass: ServerXhr}, {provide: XSRFStrategy, useClass: ServerXsrfStrategy},\n {provide: XhrFactory, useClass: ServerXhr}, {\n provide: HttpHandler,\n useFactory: zoneWrappedInterceptingHandler,\n deps: [HttpBackend, [new Optional(), HTTP_INTERCEPTORS]]\n }\n];\n","/**\n * @license\n * Copyright Google Inc. 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 * @experimental\n */\nexport interface PlatformConfig {\n document?: string;\n url?: string;\n}\n\n/**\n * The DI token for setting the initial config for the platform.\n *\n * @experimental\n */\nexport const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL_CONFIG');\n\n/**\n * A function that will be executed when calling `renderModuleFactory` or `renderModule` just\n * before current platform state is rendered to string.\n *\n * @experimental\n */\nexport const BEFORE_APP_SERIALIZED =\n new InjectionToken<Array<() => void>>('Server.RENDER_MODULE_HOOK');\n","/**\n * @license\n * Copyright Google Inc. 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 {LocationChangeEvent, LocationChangeListener, PlatformLocation} from '@angular/common';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\nimport {Subject} from 'rxjs';\nimport * as url from 'url';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\n\nfunction parseUrl(urlStr: string): {pathname: string, search: string, hash: string} {\n const parsedUrl = url.parse(urlStr);\n return {\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 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 && !!config.url) {\n const parsedUrl = parseUrl(config.url);\n this.pathname = parsedUrl.pathname;\n this.search = parsedUrl.search;\n this.hash = parsedUrl.hash;\n }\n }\n\n getBaseHrefFromDOM(): string { return getDOM().getBaseHref(this._doc) !; }\n\n onPopState(fn: LocationChangeListener): void {\n // No-op: a state stack is not implemented, so\n // no events will ever come.\n }\n\n onHashChange(fn: LocationChangeListener): void { this._hashUpdate.subscribe(fn); }\n\n get url(): string { return `${this.pathname}${this.search}${this.hash}`; }\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(() => this._hashUpdate.next({\n type: 'hashchange', state: null, oldUrl, newUrl\n } 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 { throw new Error('Not implemented'); }\n\n back(): void { throw new Error('Not implemented'); }\n}\n\nexport function scheduleMicroTask(fn: Function) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n","/**\n * @license\n * Copyright Google Inc. 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 {DomElementSchemaRegistry} from '@angular/compiler';\nimport {APP_ID, Inject, Injectable, NgZone, RenderComponentType, Renderer, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2, RootRenderer, ViewEncapsulation, ɵstringify as stringify} from '@angular/core';\nimport {DOCUMENT, ɵNAMESPACE_URIS as NAMESPACE_URIS, ɵSharedStylesHost as SharedStylesHost, ɵflattenStyles as flattenStyles, ɵgetDOM as getDOM, ɵshimContentAttribute as shimContentAttribute, ɵshimHostAttribute as shimHostAttribute} from '@angular/platform-browser';\n\nconst EMPTY_ARRAY: any[] = [];\n\n@Injectable()\nexport class ServerRendererFactory2 implements RendererFactory2 {\n private rendererByCompId = new Map<string, Renderer2>();\n private defaultRenderer: Renderer2;\n private schema = new DomElementSchemaRegistry();\n\n constructor(\n private ngZone: NgZone, @Inject(DOCUMENT) private document: any,\n private sharedStylesHost: SharedStylesHost) {\n this.defaultRenderer = new DefaultServerRenderer2(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.Native:\n case ViewEncapsulation.Emulated: {\n let renderer = this.rendererByCompId.get(type.id);\n if (!renderer) {\n renderer = new EmulatedEncapsulationServerRenderer2(\n this.document, this.ngZone, this.sharedStylesHost, this.schema, type);\n this.rendererByCompId.set(type.id, renderer);\n }\n (<EmulatedEncapsulationServerRenderer2>renderer).applyToHost(element);\n return renderer;\n }\n case ViewEncapsulation.Native:\n throw new Error('Native encapsulation is not supported on the server!');\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 document: any, private ngZone: NgZone, private schema: DomElementSchemaRegistry) {}\n\n destroy(): void {}\n\n destroyNode: null;\n\n createElement(name: string, namespace?: string, debugInfo?: any): any {\n if (namespace) {\n return getDOM().createElementNS(NAMESPACE_URIS[namespace], name);\n }\n\n return getDOM().createElement(name);\n }\n\n createComment(value: string, debugInfo?: any): any { return getDOM().createComment(value); }\n\n createText(value: string, debugInfo?: any): any { return getDOM().createTextNode(value); }\n\n appendChild(parent: any, newChild: any): void { getDOM().appendChild(parent, newChild); }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n getDOM().insertBefore(parent, refChild, newChild);\n }\n }\n\n removeChild(parent: any, oldChild: any): void {\n if (parent) {\n getDOM().removeChild(parent, oldChild);\n }\n }\n\n selectRootElement(selectorOrNode: string|any, debugInfo?: any): any {\n let el: any;\n if (typeof selectorOrNode === 'string') {\n el = getDOM().querySelector(this.document, selectorOrNode);\n if (!el) {\n throw new Error(`The selector \"${selectorOrNode}\" did not match any elements`);\n }\n } else {\n el = selectorOrNode;\n }\n getDOM().clearNodes(el);\n return el;\n }\n\n parentNode(node: any): any { return getDOM().parentElement(node); }\n\n nextSibling(node: any): any { return getDOM().nextSibling(node); }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\n if (namespace) {\n getDOM().setAttributeNS(el, NAMESPACE_URIS[namespace], namespace + ':' + name, value);\n } else {\n getDOM().setAttribute(el, name, value);\n }\n }\n\n removeAttribute(el: any, name: string, namespace?: string): void {\n if (namespace) {\n getDOM().removeAttributeNS(el, NAMESPACE_URIS[namespace], name);\n } else {\n getDOM().removeAttribute(el, name);\n }\n }\n\n addClass(el: any, name: string): void { getDOM().addClass(el, name); }\n\n removeClass(el: any, name: string): void { getDOM().removeClass(el, name); }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n getDOM().setStyle(el, style, value);\n }\n\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n getDOM().removeStyle(el, style);\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 getDOM().setProperty(el, name, value);\n // Mirror property values for known HTML element properties in the attributes.\n const tagName = (el.tagName as string).toLowerCase();\n if (value != null && (typeof value === 'number' || typeof value == 'string') &&\n 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 { getDOM().setText(node, value); }\n\n listen(\n target: 'document'|'window'|'body'|any, eventName: string,\n callback: (event: any) => boolean): () => void {\n // Note: We are not using the EventsPlugin here as this is not needed\n // to run our tests.\n checkNoSyntheticProp(eventName, 'listener');\n const el =\n typeof target === 'string' ? getDOM().getGlobalEventTarget(this.document, target) : target;\n const outsideHandler = (event: any) => this.ngZone.runGuarded(() => callback(event));\n return this.ngZone.runOutsideAngular(\n () => getDOM().onAndCancel(el, eventName, outsideHandler) as any);\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(\n `Found the synthetic ${nameKind} ${name}. Please include either \"BrowserAnimationsModule\" or \"NoopAnimationsModule\" in your application.`);\n }\n}\n\nclass EmulatedEncapsulationServerRenderer2 extends DefaultServerRenderer2 {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n document: any, ngZone: NgZone, sharedStylesHost: SharedStylesHost,\n schema: DomElementSchemaRegistry, private component: RendererType2) {\n super(document, ngZone, schema);\n const styles = flattenStyles(component.id, component.styles, []);\n sharedStylesHost.addStyles(styles);\n\n this.contentAttr = shimContentAttribute(component.id);\n this.hostAttr = shimHostAttribute(component.id);\n }\n\n applyToHost(element: any) { super.setAttribute(element, this.hostAttr, ''); }\n\n 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","/**\n * @license\n * Copyright Google Inc. 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, Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT, ɵDomAdapter as DomAdapter, ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\n@Injectable()\nexport class ServerStylesHost extends SharedStylesHost {\n private head: any = null;\n\n constructor(\n @Inject(DOCUMENT) private doc: any,\n @Optional() @Inject(ɵTRANSITION_ID) private transitionId: string) {\n super();\n this.head = getDOM().getElementsByTagName(doc, 'head')[0];\n }\n\n private _addStyle(style: string): void {\n let adapter = getDOM();\n const el = adapter.createElement('style');\n adapter.setText(el, style);\n if (!!this.transitionId) {\n adapter.setAttribute(el, 'ng-transition', this.transitionId);\n }\n adapter.appendChild(this.head, el);\n }\n\n onStylesAdded(additions: Set<string>) { additions.forEach(style => this._addStyle(style)); }\n}\n","/**\n * @license\n * Copyright Google Inc. 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 {PlatformLocation, ɵPLATFORM_SERVER_ID as PLATFORM_SERVER_ID} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {Injectable, InjectionToken, Injector, NgModule, NgZone, Optional, PLATFORM_ID, PLATFORM_INITIALIZER, PlatformRef, Provider, RendererFactory2, RootRenderer, StaticProvider, Testability, createPlatformFactory, isDevMode, platformCore, ɵALLOW_MULTIPLE_PLATFORMS as ALLOW_MULTIPLE_PLATFORMS} from '@angular/core';\nimport {HttpModule} from '@angular/http';\nimport {BrowserModule, DOCUMENT, ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID, ɵgetDOM as getDOM} 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 {ServerRendererFactory2} from './server_renderer';\nimport {ServerStylesHost} from './styles_host';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\nfunction notSupported(feature: string): Error {\n throw new Error(`platform-server does not support '${feature}'.`);\n}\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, deps: [Injector]}, {\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(injector: Injector) {\n return () => { DominoAdapter.makeCurrent(); };\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];\n\n/**\n * The ng module for the server.\n *\n * @experimental\n */\n@NgModule({\n exports: [BrowserModule],\n imports: [HttpModule, HttpClientModule, NoopAnimationsModule],\n providers: [\n SERVER_RENDER_PROVIDERS,\n SERVER_HTTP_PROVIDERS,\n {provide: Testability, useValue: null},\n ],\n})\nexport class ServerModule {\n}\n\nfunction _document(injector: Injector) {\n let config: PlatformConfig|null = injector.get(INITIAL_CONFIG, null);\n if (config && config.document) {\n return parseDocument(config.document, config.url);\n } else {\n return getDOM().createHtmlDocument();\n }\n}\n\n/**\n * @experimental\n */\nexport const platformServer =\n createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n\n/**\n * The server platform that supports the runtime compiler.\n *\n * @experimental\n */\nexport const platformDynamicServer =\n createPlatformFactory(platformCoreDynamic, 'serverDynamic', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n","/**\n * @license\n * Copyright Google Inc. 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 {APP_ID, NgModule} from '@angular/core';\nimport {DOCUMENT, TransferState, ɵescapeHtml as escapeHtml} from '@angular/platform-browser';\n\nimport {BEFORE_APP_SERIALIZED} from './tokens';\n\nexport function serializeTransferStateFactory(\n doc: Document, appId: string, transferStore: TransferState) {\n return () => {\n const script = doc.createElement('script');\n script.id = appId + '-state';\n script.setAttribute('type', 'application/json');\n script.textContent = escapeHtml(transferStore.toJson());\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 * @experimental\n */\n@NgModule({\n providers: [\n TransferState, {\n provide: BEFORE_APP_SERIALIZED,\n useFactory: serializeTransferStateFactory,\n deps: [DOCUMENT, APP_ID, TransferState],\n multi: true,\n }\n ]\n})\nexport class ServerTransferStateModule {\n}\n","/**\n * @license\n * Copyright Google Inc. 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, NgModuleFactory, NgModuleRef, PlatformRef, StaticProvider, Type} from '@angular/core';\nimport {ɵTRANSITION_ID} from '@angular/platform-browser';\nimport {first} from 'rxjs/operators';\n\nimport {PlatformState} from './platform_state';\nimport {platformDynamicServer, platformServer} from './server';\nimport {BEFORE_APP_SERIALIZED, INITIAL_CONFIG} from './tokens';\n\ninterface PlatformOptions {\n document?: string;\n url?: string;\n extraProviders?: StaticProvider[];\n}\n\nfunction _getPlatform(\n platformFactory: (extraProviders: StaticProvider[]) => PlatformRef,\n options: PlatformOptions): PlatformRef {\n const extraProviders = options.extraProviders ? options.extraProviders : [];\n return platformFactory([\n {provide: INITIAL_CONFIG, useValue: {document: options.document, url: options.url}},\n extraProviders\n ]);\n}\n\nfunction _render<T>(\n platform: PlatformRef, moduleRefPromise: Promise<NgModuleRef<T>>): Promise<string> {\n return moduleRefPromise.then((moduleRef) => {\n const transitionId = moduleRef.injector.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 = moduleRef.injector.get(ApplicationRef);\n return applicationRef.isStable.pipe((first((isStable: boolean) => isStable)))\n .toPromise()\n .then(() => {\n const platformState = platform.injector.get(PlatformState);\n\n // Run any BEFORE_APP_SERIALIZED callbacks just before rendering to string.\n const callbacks = moduleRef.injector.get(BEFORE_APP_SERIALIZED, null);\n if (callbacks) {\n for (const callback of callbacks) {\n try {\n callback();\n } catch (e) {\n // Ignore exceptions.\n console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', e);\n }\n }\n }\n\n const output = platformState.renderToString();\n platform.destroy();\n return output;\n });\n });\n}\n\n/**\n * Renders a Module to string.\n *\n * `document` is the full document HTML of the page to render, as a string.\n * `url` is the URL for the current render request.\n * `extraProviders` are the platform level providers for the current render request.\n *\n * Do not use this in a production server environment. Use pre-compiled {@link NgModuleFactory} with\n * {@link renderModuleFactory} instead.\n *\n * @experimental\n */\nexport function renderModule<T>(\n module: Type<T>, options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):\n Promise<string> {\n const platform = _getPlatform(platformDynamicServer, options);\n return _render(platform, platform.bootstrapModule(module));\n}\n\n/**\n * Renders a {@link NgModuleFactory} to string.\n *\n * `document` is the full document HTML of the page to render, as a string.\n * `url` is the URL for the current render request.\n * `extraProviders` are the platform level providers for the current render request.\n *\n * @experimental\n */\nexport function renderModuleFactory<T>(\n moduleFactory: NgModuleFactory<T>,\n options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):\n Promise<string> {\n const platform = _getPlatform(platformServer, options);\n return _render(platform, platform.bootstrapModuleFactory(moduleFactory));\n}\n","/**\n * @license\n * Copyright Google Inc. 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 common package.\n */\n\nimport {Version} from '@angular/core';\n/**\n *\n */\nexport const VERSION = new Version('6.0.0-rc.6');\n","/**\n * @license\n * Copyright Google Inc. 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 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 * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SERVER_HTTP_PROVIDERS as ɵangular_packages_platform_server_platform_server_h,ServerXhr as ɵangular_packages_platform_server_platform_server_d,ServerXsrfStrategy as ɵangular_packages_platform_server_platform_server_e,httpFactory as ɵangular_packages_platform_server_platform_server_f,zoneWrappedInterceptingHandler as ɵangular_packages_platform_server_platform_server_g} from './src/http';\nexport {instantiateServerRendererFactory as ɵangular_packages_platform_server_platform_server_a} from './src/server';\nexport {ServerStylesHost as ɵangular_packages_platform_server_platform_server_c} from './src/styles_host';\nexport {serializeTransferStateFactory as ɵangular_packages_platform_server_platform_server_b} from './src/transfer_state';"],"names":["url","tslib_1.__extends","setRootDomAdapter","BrowserDomAdapter","interceptingHandler","url.parse","getDOM","flattenStyles","SharedStylesHost","NAMESPACE_URIS","shimContentAttribute","shimHostAttribute","PLATFORM_SERVER_ID","ALLOW_MULTIPLE_PLATFORMS","platformCoreDynamic","escapeHtml","tslib_1.__values"],"mappings":"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"}
{"version":3,"file":"platform-server.js","sources":["../../../../../../../../../../execroot/angular/packages/platform-server/src/domino_adapter.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/platform_state.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/http.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/tokens.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/location.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/server_renderer.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/styles_host.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/server.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/transfer_state.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/utils.ts","../../../../../../../../../../execroot/angular/packages/platform-server/src/version.ts","../../../../../../../../../../execroot/angular/packages/platform-server/public_api.ts","../../../../../../../../../../execroot/angular/packages/platform-server/platform-server.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. 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 */\nconst domino = require('domino');\n\nimport {ɵBrowserDomAdapter as BrowserDomAdapter, ɵsetRootDomAdapter as setRootDomAdapter} from '@angular/platform-browser';\n\nfunction _notImplemented(methodName: string) {\n return new Error('This method is not implemented in DominoAdapter: ' + methodName);\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 makeCurrent() { setRootDomAdapter(new DominoAdapter()); }\n\n private static defaultDoc: Document;\n\n logError(error: string) { console.error(error); }\n\n log(error: string) {\n // tslint:disable-next-line:no-console\n console.log(error);\n }\n\n logGroup(error: string) { console.error(error); }\n\n logGroupEnd() {}\n\n supportsDOMEvents(): boolean { return false; }\n supportsNativeShadowDOM(): boolean { return false; }\n\n contains(nodeA: any, nodeB: any): boolean {\n let inner = nodeB;\n while (inner) {\n if (inner === nodeA) return true;\n inner = inner.parent;\n }\n return false;\n }\n\n createHtmlDocument(): HTMLDocument {\n return parseDocument('<html><head><title>fakeTitle</title></head><body></body></html>');\n }\n\n getDefaultDocument(): Document {\n if (!DominoAdapter.defaultDoc) {\n DominoAdapter.defaultDoc = domino.createDocument();\n }\n return DominoAdapter.defaultDoc;\n }\n\n createShadowRoot(el: any, doc: Document = document): DocumentFragment {\n el.shadowRoot = doc.createDocumentFragment();\n el.shadowRoot.parent = el;\n return el.shadowRoot;\n }\n getShadowRoot(el: any): DocumentFragment { return el.shadowRoot; }\n\n isTextNode(node: any): boolean { return node.nodeType === DominoAdapter.defaultDoc.TEXT_NODE; }\n isCommentNode(node: any): boolean {\n return node.nodeType === DominoAdapter.defaultDoc.COMMENT_NODE;\n }\n isElementNode(node: any): boolean {\n return node ? node.nodeType === DominoAdapter.defaultDoc.ELEMENT_NODE : false;\n }\n hasShadowRoot(node: any): boolean { return node.shadowRoot != null; }\n isShadowRoot(node: any): boolean { return this.getShadowRoot(node) == node; }\n\n getProperty(el: Element, name: string): any {\n if (name === 'href') {\n // Domino tries tp resolve href-s which we do not want. Just return the\n // attribute value.\n return this.getAttribute(el, 'href');\n } else if (name === 'innerText') {\n // Domino does not support innerText. Just map it to textContent.\n return el.textContent;\n }\n return (<any>el)[name];\n }\n\n setProperty(el: Element, name: string, value: any) {\n if (name === 'href') {\n // Even though the server renderer reflects any properties to attributes\n // map 'href' to attribute just to handle when setProperty is directly called.\n this.setAttribute(el, 'href', value);\n } else 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 }\n\n 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 getBaseHref(doc: Document): string {\n const base = this.querySelector(doc.documentElement, 'base');\n let href = '';\n if (base) {\n href = this.getHref(base);\n }\n // TODO(alxhub): Need relative path logic from BrowserDomAdapter here?\n return href;\n }\n\n /** @internal */\n _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.substr(0, colonIndex).trim();\n styleMap[name] = style.substr(colonIndex + 1).trim();\n }\n }\n }\n return styleMap;\n }\n /** @internal */\n _writeStyleAttribute(element: any, styleMap: {[name: string]: string}) {\n let styleAttrValue = '';\n for (const key in styleMap) {\n const newValue = styleMap[key];\n if (newValue) {\n styleAttrValue += key + ':' + styleMap[key] + ';';\n }\n }\n element.setAttribute('style', styleAttrValue);\n }\n setStyle(element: any, styleName: string, styleValue?: string|null) {\n styleName = styleName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n const styleMap = this._readStyleAttribute(element);\n styleMap[styleName] = styleValue || '';\n this._writeStyleAttribute(element, styleMap);\n }\n removeStyle(element: any, styleName: string) {\n // IE requires '' instead of null\n // see https://github.com/angular/angular/issues/7916\n this.setStyle(element, styleName, '');\n }\n getStyle(element: any, styleName: string): string {\n const styleMap = this._readStyleAttribute(element);\n return styleMap[styleName] || '';\n }\n hasStyle(element: any, styleName: string, styleValue?: string): boolean {\n const value = this.getStyle(element, styleName);\n return styleValue ? value == styleValue : value.length > 0;\n }\n\n 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 getHistory(): History { throw _notImplemented('getHistory'); }\n getLocation(): Location { throw _notImplemented('getLocation'); }\n getUserAgent(): string { return 'Fake user agent'; }\n\n supportsWebAnimation(): boolean { return false; }\n performanceNow(): number { return Date.now(); }\n getAnimationPrefix(): string { return ''; }\n getTransitionEnd(): string { return 'transitionend'; }\n supportsAnimation(): boolean { return true; }\n\n getDistributedNodes(el: any): Node[] { throw _notImplemented('getDistributedNodes'); }\n\n supportsCookies(): boolean { return false; }\n getCookie(name: string): string { throw _notImplemented('getCookie'); }\n setCookie(name: string, value: string) { throw _notImplemented('setCookie'); }\n}\n","/**\n * @license\n * Copyright Google Inc. 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 {Inject, Injectable} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\nimport {serializeDocument} from './domino_adapter';\n\n/**\n * Representation of the current platform state.\n *\n * @experimental\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 { return serializeDocument(this._doc); }\n\n /**\n * Returns the current DOM state.\n */\n getDocument(): any { return this._doc; }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nconst xhr2: any = require('xhr2');\n\nimport {Injectable, Optional, Provider} from '@angular/core';\nimport {BrowserXhr, Connection, ConnectionBackend, Http, ReadyState, Request, RequestOptions, Response, XHRBackend, XSRFStrategy} from '@angular/http';\n\nimport {HttpEvent, HttpRequest, HttpHandler, HttpInterceptor, HTTP_INTERCEPTORS, HttpBackend, XhrFactory, ɵinterceptingHandler as interceptingHandler} from '@angular/common/http';\n\nimport {Observable, Observer, Subscription} from 'rxjs';\n\nconst isAbsoluteUrl = /^[a-zA-Z\\-\\+.]+:\\/\\//;\n\nfunction validateRequestUrl(url: string): void {\n if (!isAbsoluteUrl.test(url)) {\n throw new Error(`URLs requested via Http on the server must be absolute. URL: ${url}`);\n }\n}\n\n@Injectable()\nexport class ServerXhr implements BrowserXhr {\n build(): XMLHttpRequest { return new xhr2.XMLHttpRequest(); }\n}\n\n@Injectable()\nexport class ServerXsrfStrategy implements XSRFStrategy {\n configureRequest(req: Request): void {}\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 ZoneMacroTaskConnection extends ZoneMacroTaskWrapper<Request, Response> implements\n Connection {\n response: Observable<Response>;\n lastConnection: Connection;\n\n constructor(public request: Request, private backend: XHRBackend) {\n super();\n validateRequestUrl(request.url);\n this.response = this.wrap(request);\n }\n\n delegate(request: Request): Observable<Response> {\n this.lastConnection = this.backend.createConnection(request);\n return this.lastConnection.response as Observable<Response>;\n }\n\n get readyState(): ReadyState {\n return !!this.lastConnection ? this.lastConnection.readyState : ReadyState.Unsent;\n }\n}\n\nexport class ZoneMacroTaskBackend implements ConnectionBackend {\n constructor(private backend: XHRBackend) {}\n\n createConnection(request: any): ZoneMacroTaskConnection {\n return new ZoneMacroTaskConnection(request, this.backend);\n }\n}\n\nexport class ZoneClientBackend extends\n ZoneMacroTaskWrapper<HttpRequest<any>, HttpEvent<any>> implements HttpBackend {\n constructor(private backend: HttpBackend) { super(); }\n\n handle(request: HttpRequest<any>): Observable<HttpEvent<any>> { return this.wrap(request); }\n\n protected delegate(request: HttpRequest<any>): Observable<HttpEvent<any>> {\n return this.backend.handle(request);\n }\n}\n\nexport function httpFactory(xhrBackend: XHRBackend, options: RequestOptions) {\n const macroBackend = new ZoneMacroTaskBackend(xhrBackend);\n return new Http(macroBackend, options);\n}\n\nexport function zoneWrappedInterceptingHandler(\n backend: HttpBackend, interceptors: HttpInterceptor[] | null) {\n const realBackend: HttpBackend = interceptingHandler(backend, interceptors);\n return new ZoneClientBackend(realBackend);\n}\n\nexport const SERVER_HTTP_PROVIDERS: Provider[] = [\n {provide: Http, useFactory: httpFactory, deps: [XHRBackend, RequestOptions]},\n {provide: BrowserXhr, useClass: ServerXhr}, {provide: XSRFStrategy, useClass: ServerXsrfStrategy},\n {provide: XhrFactory, useClass: ServerXhr}, {\n provide: HttpHandler,\n useFactory: zoneWrappedInterceptingHandler,\n deps: [HttpBackend, [new Optional(), HTTP_INTERCEPTORS]]\n }\n];\n","/**\n * @license\n * Copyright Google Inc. 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 * @experimental\n */\nexport interface PlatformConfig {\n document?: string;\n url?: string;\n}\n\n/**\n * The DI token for setting the initial config for the platform.\n *\n * @experimental\n */\nexport const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL_CONFIG');\n\n/**\n * A function that will be executed when calling `renderModuleFactory` or `renderModule` just\n * before current platform state is rendered to string.\n *\n * @experimental\n */\nexport const BEFORE_APP_SERIALIZED =\n new InjectionToken<Array<() => void>>('Server.RENDER_MODULE_HOOK');\n","/**\n * @license\n * Copyright Google Inc. 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 {LocationChangeEvent, LocationChangeListener, PlatformLocation} from '@angular/common';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\nimport {Subject} from 'rxjs';\nimport * as url from 'url';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\n\nfunction parseUrl(urlStr: string): {pathname: string, search: string, hash: string} {\n const parsedUrl = url.parse(urlStr);\n return {\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 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 && !!config.url) {\n const parsedUrl = parseUrl(config.url);\n this.pathname = parsedUrl.pathname;\n this.search = parsedUrl.search;\n this.hash = parsedUrl.hash;\n }\n }\n\n getBaseHrefFromDOM(): string { return getDOM().getBaseHref(this._doc) !; }\n\n onPopState(fn: LocationChangeListener): void {\n // No-op: a state stack is not implemented, so\n // no events will ever come.\n }\n\n onHashChange(fn: LocationChangeListener): void { this._hashUpdate.subscribe(fn); }\n\n get url(): string { return `${this.pathname}${this.search}${this.hash}`; }\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(() => this._hashUpdate.next({\n type: 'hashchange', state: null, oldUrl, newUrl\n } 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 { throw new Error('Not implemented'); }\n\n back(): void { throw new Error('Not implemented'); }\n}\n\nexport function scheduleMicroTask(fn: Function) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n","/**\n * @license\n * Copyright Google Inc. 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 {DomElementSchemaRegistry} from '@angular/compiler';\nimport {APP_ID, Inject, Injectable, NgZone, RenderComponentType, Renderer, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2, RootRenderer, ViewEncapsulation, ɵstringify as stringify} from '@angular/core';\nimport {DOCUMENT, ɵNAMESPACE_URIS as NAMESPACE_URIS, ɵSharedStylesHost as SharedStylesHost, ɵflattenStyles as flattenStyles, ɵgetDOM as getDOM, ɵshimContentAttribute as shimContentAttribute, ɵshimHostAttribute as shimHostAttribute} from '@angular/platform-browser';\n\nconst EMPTY_ARRAY: any[] = [];\n\n@Injectable()\nexport class ServerRendererFactory2 implements RendererFactory2 {\n private rendererByCompId = new Map<string, Renderer2>();\n private defaultRenderer: Renderer2;\n private schema = new DomElementSchemaRegistry();\n\n constructor(\n private ngZone: NgZone, @Inject(DOCUMENT) private document: any,\n private sharedStylesHost: SharedStylesHost) {\n this.defaultRenderer = new DefaultServerRenderer2(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.Native:\n case ViewEncapsulation.Emulated: {\n let renderer = this.rendererByCompId.get(type.id);\n if (!renderer) {\n renderer = new EmulatedEncapsulationServerRenderer2(\n this.document, this.ngZone, this.sharedStylesHost, this.schema, type);\n this.rendererByCompId.set(type.id, renderer);\n }\n (<EmulatedEncapsulationServerRenderer2>renderer).applyToHost(element);\n return renderer;\n }\n case ViewEncapsulation.Native:\n throw new Error('Native encapsulation is not supported on the server!');\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 document: any, private ngZone: NgZone, private schema: DomElementSchemaRegistry) {}\n\n destroy(): void {}\n\n destroyNode: null;\n\n createElement(name: string, namespace?: string, debugInfo?: any): any {\n if (namespace) {\n return getDOM().createElementNS(NAMESPACE_URIS[namespace], name);\n }\n\n return getDOM().createElement(name);\n }\n\n createComment(value: string, debugInfo?: any): any { return getDOM().createComment(value); }\n\n createText(value: string, debugInfo?: any): any { return getDOM().createTextNode(value); }\n\n appendChild(parent: any, newChild: any): void { getDOM().appendChild(parent, newChild); }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n getDOM().insertBefore(parent, refChild, newChild);\n }\n }\n\n removeChild(parent: any, oldChild: any): void {\n if (parent) {\n getDOM().removeChild(parent, oldChild);\n }\n }\n\n selectRootElement(selectorOrNode: string|any, debugInfo?: any): any {\n let el: any;\n if (typeof selectorOrNode === 'string') {\n el = getDOM().querySelector(this.document, selectorOrNode);\n if (!el) {\n throw new Error(`The selector \"${selectorOrNode}\" did not match any elements`);\n }\n } else {\n el = selectorOrNode;\n }\n getDOM().clearNodes(el);\n return el;\n }\n\n parentNode(node: any): any { return getDOM().parentElement(node); }\n\n nextSibling(node: any): any { return getDOM().nextSibling(node); }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\n if (namespace) {\n getDOM().setAttributeNS(el, NAMESPACE_URIS[namespace], namespace + ':' + name, value);\n } else {\n getDOM().setAttribute(el, name, value);\n }\n }\n\n removeAttribute(el: any, name: string, namespace?: string): void {\n if (namespace) {\n getDOM().removeAttributeNS(el, NAMESPACE_URIS[namespace], name);\n } else {\n getDOM().removeAttribute(el, name);\n }\n }\n\n addClass(el: any, name: string): void { getDOM().addClass(el, name); }\n\n removeClass(el: any, name: string): void { getDOM().removeClass(el, name); }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n getDOM().setStyle(el, style, value);\n }\n\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n getDOM().removeStyle(el, style);\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 getDOM().setProperty(el, name, value);\n // Mirror property values for known HTML element properties in the attributes.\n const tagName = (el.tagName as string).toLowerCase();\n if (value != null && (typeof value === 'number' || typeof value == 'string') &&\n 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 { getDOM().setText(node, value); }\n\n listen(\n target: 'document'|'window'|'body'|any, eventName: string,\n callback: (event: any) => boolean): () => void {\n // Note: We are not using the EventsPlugin here as this is not needed\n // to run our tests.\n checkNoSyntheticProp(eventName, 'listener');\n const el =\n typeof target === 'string' ? getDOM().getGlobalEventTarget(this.document, target) : target;\n const outsideHandler = (event: any) => this.ngZone.runGuarded(() => callback(event));\n return this.ngZone.runOutsideAngular(\n () => getDOM().onAndCancel(el, eventName, outsideHandler) as any);\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(\n `Found the synthetic ${nameKind} ${name}. Please include either \"BrowserAnimationsModule\" or \"NoopAnimationsModule\" in your application.`);\n }\n}\n\nclass EmulatedEncapsulationServerRenderer2 extends DefaultServerRenderer2 {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n document: any, ngZone: NgZone, sharedStylesHost: SharedStylesHost,\n schema: DomElementSchemaRegistry, private component: RendererType2) {\n super(document, ngZone, schema);\n const styles = flattenStyles(component.id, component.styles, []);\n sharedStylesHost.addStyles(styles);\n\n this.contentAttr = shimContentAttribute(component.id);\n this.hostAttr = shimHostAttribute(component.id);\n }\n\n applyToHost(element: any) { super.setAttribute(element, this.hostAttr, ''); }\n\n 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","/**\n * @license\n * Copyright Google Inc. 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, Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT, ɵDomAdapter as DomAdapter, ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\n@Injectable()\nexport class ServerStylesHost extends SharedStylesHost {\n private head: any = null;\n\n constructor(\n @Inject(DOCUMENT) private doc: any,\n @Optional() @Inject(ɵTRANSITION_ID) private transitionId: string) {\n super();\n this.head = getDOM().getElementsByTagName(doc, 'head')[0];\n }\n\n private _addStyle(style: string): void {\n let adapter = getDOM();\n const el = adapter.createElement('style');\n adapter.setText(el, style);\n if (!!this.transitionId) {\n adapter.setAttribute(el, 'ng-transition', this.transitionId);\n }\n adapter.appendChild(this.head, el);\n }\n\n onStylesAdded(additions: Set<string>) { additions.forEach(style => this._addStyle(style)); }\n}\n","/**\n * @license\n * Copyright Google Inc. 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 {PlatformLocation, ɵPLATFORM_SERVER_ID as PLATFORM_SERVER_ID} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {Injectable, InjectionToken, Injector, NgModule, NgZone, Optional, PLATFORM_ID, PLATFORM_INITIALIZER, PlatformRef, Provider, RendererFactory2, RootRenderer, StaticProvider, Testability, createPlatformFactory, isDevMode, platformCore, ɵALLOW_MULTIPLE_PLATFORMS as ALLOW_MULTIPLE_PLATFORMS} from '@angular/core';\nimport {HttpModule} from '@angular/http';\nimport {BrowserModule, DOCUMENT, ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID, ɵgetDOM as getDOM} 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 {ServerRendererFactory2} from './server_renderer';\nimport {ServerStylesHost} from './styles_host';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\nfunction notSupported(feature: string): Error {\n throw new Error(`platform-server does not support '${feature}'.`);\n}\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, deps: [Injector]}, {\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(injector: Injector) {\n return () => { DominoAdapter.makeCurrent(); };\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];\n\n/**\n * The ng module for the server.\n *\n * @experimental\n */\n@NgModule({\n exports: [BrowserModule],\n imports: [HttpModule, HttpClientModule, NoopAnimationsModule],\n providers: [\n SERVER_RENDER_PROVIDERS,\n SERVER_HTTP_PROVIDERS,\n {provide: Testability, useValue: null},\n ],\n})\nexport class ServerModule {\n}\n\nfunction _document(injector: Injector) {\n let config: PlatformConfig|null = injector.get(INITIAL_CONFIG, null);\n if (config && config.document) {\n return parseDocument(config.document, config.url);\n } else {\n return getDOM().createHtmlDocument();\n }\n}\n\n/**\n * @experimental\n */\nexport const platformServer =\n createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n\n/**\n * The server platform that supports the runtime compiler.\n *\n * @experimental\n */\nexport const platformDynamicServer =\n createPlatformFactory(platformCoreDynamic, 'serverDynamic', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n","/**\n * @license\n * Copyright Google Inc. 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 {APP_ID, NgModule} from '@angular/core';\nimport {DOCUMENT, TransferState, ɵescapeHtml as escapeHtml} from '@angular/platform-browser';\n\nimport {BEFORE_APP_SERIALIZED} from './tokens';\n\nexport function serializeTransferStateFactory(\n doc: Document, appId: string, transferStore: TransferState) {\n return () => {\n const script = doc.createElement('script');\n script.id = appId + '-state';\n script.setAttribute('type', 'application/json');\n script.textContent = escapeHtml(transferStore.toJson());\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 * @experimental\n */\n@NgModule({\n providers: [\n TransferState, {\n provide: BEFORE_APP_SERIALIZED,\n useFactory: serializeTransferStateFactory,\n deps: [DOCUMENT, APP_ID, TransferState],\n multi: true,\n }\n ]\n})\nexport class ServerTransferStateModule {\n}\n","/**\n * @license\n * Copyright Google Inc. 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, NgModuleFactory, NgModuleRef, PlatformRef, StaticProvider, Type} from '@angular/core';\nimport {ɵTRANSITION_ID} from '@angular/platform-browser';\nimport {first} from 'rxjs/operators';\n\nimport {PlatformState} from './platform_state';\nimport {platformDynamicServer, platformServer} from './server';\nimport {BEFORE_APP_SERIALIZED, INITIAL_CONFIG} from './tokens';\n\ninterface PlatformOptions {\n document?: string;\n url?: string;\n extraProviders?: StaticProvider[];\n}\n\nfunction _getPlatform(\n platformFactory: (extraProviders: StaticProvider[]) => PlatformRef,\n options: PlatformOptions): PlatformRef {\n const extraProviders = options.extraProviders ? options.extraProviders : [];\n return platformFactory([\n {provide: INITIAL_CONFIG, useValue: {document: options.document, url: options.url}},\n extraProviders\n ]);\n}\n\nfunction _render<T>(\n platform: PlatformRef, moduleRefPromise: Promise<NgModuleRef<T>>): Promise<string> {\n return moduleRefPromise.then((moduleRef) => {\n const transitionId = moduleRef.injector.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 = moduleRef.injector.get(ApplicationRef);\n return applicationRef.isStable.pipe((first((isStable: boolean) => isStable)))\n .toPromise()\n .then(() => {\n const platformState = platform.injector.get(PlatformState);\n\n // Run any BEFORE_APP_SERIALIZED callbacks just before rendering to string.\n const callbacks = moduleRef.injector.get(BEFORE_APP_SERIALIZED, null);\n if (callbacks) {\n for (const callback of callbacks) {\n try {\n callback();\n } catch (e) {\n // Ignore exceptions.\n console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', e);\n }\n }\n }\n\n const output = platformState.renderToString();\n platform.destroy();\n return output;\n });\n });\n}\n\n/**\n * Renders a Module to string.\n *\n * `document` is the full document HTML of the page to render, as a string.\n * `url` is the URL for the current render request.\n * `extraProviders` are the platform level providers for the current render request.\n *\n * Do not use this in a production server environment. Use pre-compiled {@link NgModuleFactory} with\n * {@link renderModuleFactory} instead.\n *\n * @experimental\n */\nexport function renderModule<T>(\n module: Type<T>, options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):\n Promise<string> {\n const platform = _getPlatform(platformDynamicServer, options);\n return _render(platform, platform.bootstrapModule(module));\n}\n\n/**\n * Renders a {@link NgModuleFactory} to string.\n *\n * `document` is the full document HTML of the page to render, as a string.\n * `url` is the URL for the current render request.\n * `extraProviders` are the platform level providers for the current render request.\n *\n * @experimental\n */\nexport function renderModuleFactory<T>(\n moduleFactory: NgModuleFactory<T>,\n options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):\n Promise<string> {\n const platform = _getPlatform(platformServer, options);\n return _render(platform, platform.bootstrapModuleFactory(moduleFactory));\n}\n","/**\n * @license\n * Copyright Google Inc. 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 common package.\n */\n\nimport {Version} from '@angular/core';\n/**\n *\n */\nexport const VERSION = new Version('6.0.0');\n","/**\n * @license\n * Copyright Google Inc. 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 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 * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SERVER_HTTP_PROVIDERS as ɵangular_packages_platform_server_platform_server_h,ServerXhr as ɵangular_packages_platform_server_platform_server_d,ServerXsrfStrategy as ɵangular_packages_platform_server_platform_server_e,httpFactory as ɵangular_packages_platform_server_platform_server_f,zoneWrappedInterceptingHandler as ɵangular_packages_platform_server_platform_server_g} from './src/http';\nexport {instantiateServerRendererFactory as ɵangular_packages_platform_server_platform_server_a} from './src/server';\nexport {ServerStylesHost as ɵangular_packages_platform_server_platform_server_c} from './src/styles_host';\nexport {serializeTransferStateFactory as ɵangular_packages_platform_server_platform_server_b} from './src/transfer_state';"],"names":["url","tslib_1.__extends","setRootDomAdapter","BrowserDomAdapter","interceptingHandler","url.parse","getDOM","flattenStyles","SharedStylesHost","NAMESPACE_URIS","shimContentAttribute","shimHostAttribute","PLATFORM_SERVER_ID","ALLOW_MULTIPLE_PLATFORMS","platformCoreDynamic","escapeHtml","tslib_1.__values"],"mappings":"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"}
/**
* @license Angular v6.0.0-rc.6
* @license Angular v6.0.0
* (c) 2010-2018 Google, Inc. https://angular.io/

@@ -4,0 +4,0 @@ * License: MIT

{
"name": "@angular/platform-server",
"version": "6.0.0-rc.6",
"version": "6.0.0",
"description": "Angular - library for using Angular in Node.js",

@@ -16,8 +16,8 @@ "main": "./bundles/platform-server.umd.js",

"peerDependencies": {
"@angular/animations": "6.0.0-rc.6",
"@angular/common": "6.0.0-rc.6",
"@angular/compiler": "6.0.0-rc.6",
"@angular/core": "6.0.0-rc.6",
"@angular/platform-browser": "6.0.0-rc.6",
"@angular/platform-browser-dynamic": "6.0.0-rc.6"
"@angular/animations": "6.0.0",
"@angular/common": "6.0.0",
"@angular/compiler": "6.0.0",
"@angular/core": "6.0.0",
"@angular/platform-browser": "6.0.0",
"@angular/platform-browser-dynamic": "6.0.0"
},

@@ -24,0 +24,0 @@ "dependencies": {

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"ɵangular_packages_platform_server_platform_server_a":{"__symbolic":"function","parameters":["renderer","engine","zone"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"ɵAnimationRendererFactory","line":48,"character":13},"arguments":[{"__symbolic":"reference","name":"renderer"},{"__symbolic":"reference","name":"engine"},{"__symbolic":"reference","name":"zone"}]}},"ɵangular_packages_platform_server_platform_server_b":{"__symbolic":"function","parameters":["doc","appId","transferStore"],"value":{"__symbolic":"error","message":"Lambda not supported","line":15,"character":9,"module":"./src/transfer_state"}},"PlatformState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":18,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":20,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"renderToString":[{"__symbolic":"method"}],"getDocument":[{"__symbolic":"method"}]}},"ServerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":67,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule","line":68,"character":12}],"imports":[{"__symbolic":"reference","module":"@angular/http","name":"HttpModule","line":69,"character":12},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":69,"character":24},{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"NoopAnimationsModule","line":69,"character":42}],"providers":[{"__symbolic":"reference","name":"ɵSERVER_RENDER_PROVIDERS"},{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_h"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"Testability","line":73,"character":14},"useValue":null}]}]}],"members":{}},"platformDynamicServer":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"createPlatformFactory","line":100,"character":4},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser-dynamic","name":"ɵplatformCoreDynamic","line":100,"character":26},"serverDynamic",{"__symbolic":"reference","name":"ɵINTERNAL_SERVER_PLATFORM_PROVIDERS"}]},"platformServer":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"createPlatformFactory","line":92,"character":4},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"platformCore","line":92,"character":26},"server",{"__symbolic":"reference","name":"ɵINTERNAL_SERVER_PLATFORM_PROVIDERS"}]},"BEFORE_APP_SERIALIZED":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":34,"character":8},"arguments":["Server.RENDER_MODULE_HOOK"]},"INITIAL_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":25,"character":34},"arguments":["Server.INITIAL_CONFIG"]},"PlatformConfig":{"__symbolic":"interface"},"ServerTransferStateModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":30,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"TransferState","line":32,"character":4},{"provide":{"__symbolic":"reference","name":"BEFORE_APP_SERIALIZED"},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_b"},"deps":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":35,"character":13},{"__symbolic":"reference","module":"@angular/core","name":"APP_ID","line":35,"character":23},{"__symbolic":"reference","module":"@angular/platform-browser","name":"TransferState","line":35,"character":31}],"multi":true}]}]}],"members":{}},"renderModule":{"__symbolic":"function"},"renderModuleFactory":{"__symbolic":"function"},"ɵINTERNAL_SERVER_PLATFORM_PROVIDERS":{"__symbolic":"error","message":"Reference to a non-exported function","line":79,"character":9,"context":{"name":"_document"},"module":"./src/server"},"ɵSERVER_RENDER_PROVIDERS":[{"__symbolic":"reference","name":"ɵServerRendererFactory2"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":54,"character":13},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_a"},"deps":[{"__symbolic":"reference","name":"ɵServerRendererFactory2"},{"__symbolic":"reference","module":"@angular/animations/browser","name":"ɵAnimationEngine","line":56,"character":35},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":56,"character":53}]},{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_c"},{"provide":{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵSharedStylesHost","line":59,"character":12},"useExisting":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_c"}}],"ɵServerRendererFactory2":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":14,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":31},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":21,"character":38}]}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":21,"character":22},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵSharedStylesHost","line":22,"character":32}]}],"createRenderer":[{"__symbolic":"method"}],"begin":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}]}},"VERSION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Version","line":18,"character":27},"arguments":["6.0.0-rc.6"]},"ɵangular_packages_platform_server_platform_server_c":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵSharedStylesHost","line":12,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":16,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":16,"character":14}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":17,"character":7}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":17,"character":19},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵTRANSITION_ID","line":17,"character":26}]}]],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"string"}]}],"_addStyle":[{"__symbolic":"method"}],"onStylesAdded":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_d":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":25,"character":1}}],"members":{"build":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_e":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":30,"character":1}}],"members":{"configureRequest":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_f":{"__symbolic":"function"},"ɵangular_packages_platform_server_platform_server_g":{"__symbolic":"function"},"ɵangular_packages_platform_server_platform_server_h":[{"provide":{"__symbolic":"reference","module":"@angular/http","name":"Http","line":165,"character":12},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_f"},"deps":[{"__symbolic":"reference","module":"@angular/http","name":"XHRBackend","line":118,"character":56},{"__symbolic":"reference","module":"@angular/http","name":"RequestOptions","line":165,"character":62}]},{"provide":{"__symbolic":"reference","module":"@angular/http","name":"BrowserXhr","line":166,"character":12},"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_d"}},{"provide":{"__symbolic":"reference","module":"@angular/http","name":"XSRFStrategy","line":166,"character":56},"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_e"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"XhrFactory","line":167,"character":12},"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_d"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHandler","line":168,"character":13},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_g"},"deps":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpBackend","line":144,"character":31},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":170,"character":29}},{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":170,"character":41}]]}]},"origins":{"ɵangular_packages_platform_server_platform_server_a":"./src/server","ɵangular_packages_platform_server_platform_server_b":"./src/transfer_state","PlatformState":"./src/platform_state","ServerModule":"./src/server","platformDynamicServer":"./src/server","platformServer":"./src/server","BEFORE_APP_SERIALIZED":"./src/tokens","INITIAL_CONFIG":"./src/tokens","PlatformConfig":"./src/tokens","ServerTransferStateModule":"./src/transfer_state","renderModule":"./src/utils","renderModuleFactory":"./src/utils","ɵINTERNAL_SERVER_PLATFORM_PROVIDERS":"./src/server","ɵSERVER_RENDER_PROVIDERS":"./src/server","ɵServerRendererFactory2":"./src/server_renderer","VERSION":"./src/version","ɵangular_packages_platform_server_platform_server_c":"./src/styles_host","ɵangular_packages_platform_server_platform_server_d":"./src/http","ɵangular_packages_platform_server_platform_server_e":"./src/http","ɵangular_packages_platform_server_platform_server_f":"./src/http","ɵangular_packages_platform_server_platform_server_g":"./src/http","ɵangular_packages_platform_server_platform_server_h":"./src/http"},"importAs":"@angular/platform-server"}
{"__symbolic":"module","version":4,"metadata":{"ɵangular_packages_platform_server_platform_server_a":{"__symbolic":"function","parameters":["renderer","engine","zone"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"ɵAnimationRendererFactory","line":48,"character":13},"arguments":[{"__symbolic":"reference","name":"renderer"},{"__symbolic":"reference","name":"engine"},{"__symbolic":"reference","name":"zone"}]}},"ɵangular_packages_platform_server_platform_server_b":{"__symbolic":"function","parameters":["doc","appId","transferStore"],"value":{"__symbolic":"error","message":"Lambda not supported","line":15,"character":9,"module":"./src/transfer_state"}},"PlatformState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":18,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":20,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"renderToString":[{"__symbolic":"method"}],"getDocument":[{"__symbolic":"method"}]}},"ServerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":67,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule","line":68,"character":12}],"imports":[{"__symbolic":"reference","module":"@angular/http","name":"HttpModule","line":69,"character":12},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":69,"character":24},{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"NoopAnimationsModule","line":69,"character":42}],"providers":[{"__symbolic":"reference","name":"ɵSERVER_RENDER_PROVIDERS"},{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_h"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"Testability","line":73,"character":14},"useValue":null}]}]}],"members":{}},"platformDynamicServer":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"createPlatformFactory","line":100,"character":4},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser-dynamic","name":"ɵplatformCoreDynamic","line":100,"character":26},"serverDynamic",{"__symbolic":"reference","name":"ɵINTERNAL_SERVER_PLATFORM_PROVIDERS"}]},"platformServer":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"createPlatformFactory","line":92,"character":4},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"platformCore","line":92,"character":26},"server",{"__symbolic":"reference","name":"ɵINTERNAL_SERVER_PLATFORM_PROVIDERS"}]},"BEFORE_APP_SERIALIZED":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":34,"character":8},"arguments":["Server.RENDER_MODULE_HOOK"]},"INITIAL_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":25,"character":34},"arguments":["Server.INITIAL_CONFIG"]},"PlatformConfig":{"__symbolic":"interface"},"ServerTransferStateModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":30,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"TransferState","line":32,"character":4},{"provide":{"__symbolic":"reference","name":"BEFORE_APP_SERIALIZED"},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_b"},"deps":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":35,"character":13},{"__symbolic":"reference","module":"@angular/core","name":"APP_ID","line":35,"character":23},{"__symbolic":"reference","module":"@angular/platform-browser","name":"TransferState","line":35,"character":31}],"multi":true}]}]}],"members":{}},"renderModule":{"__symbolic":"function"},"renderModuleFactory":{"__symbolic":"function"},"ɵINTERNAL_SERVER_PLATFORM_PROVIDERS":{"__symbolic":"error","message":"Reference to a non-exported function","line":79,"character":9,"context":{"name":"_document"},"module":"./src/server"},"ɵSERVER_RENDER_PROVIDERS":[{"__symbolic":"reference","name":"ɵServerRendererFactory2"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":54,"character":13},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_a"},"deps":[{"__symbolic":"reference","name":"ɵServerRendererFactory2"},{"__symbolic":"reference","module":"@angular/animations/browser","name":"ɵAnimationEngine","line":56,"character":35},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":56,"character":53}]},{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_c"},{"provide":{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵSharedStylesHost","line":59,"character":12},"useExisting":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_c"}}],"ɵServerRendererFactory2":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":14,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":31},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":21,"character":38}]}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":21,"character":22},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵSharedStylesHost","line":22,"character":32}]}],"createRenderer":[{"__symbolic":"method"}],"begin":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}]}},"VERSION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Version","line":18,"character":27},"arguments":["6.0.0"]},"ɵangular_packages_platform_server_platform_server_c":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵSharedStylesHost","line":12,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":16,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":16,"character":14}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":17,"character":7}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":17,"character":19},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵTRANSITION_ID","line":17,"character":26}]}]],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"string"}]}],"_addStyle":[{"__symbolic":"method"}],"onStylesAdded":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_d":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":25,"character":1}}],"members":{"build":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_e":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":30,"character":1}}],"members":{"configureRequest":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_f":{"__symbolic":"function"},"ɵangular_packages_platform_server_platform_server_g":{"__symbolic":"function"},"ɵangular_packages_platform_server_platform_server_h":[{"provide":{"__symbolic":"reference","module":"@angular/http","name":"Http","line":165,"character":12},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_f"},"deps":[{"__symbolic":"reference","module":"@angular/http","name":"XHRBackend","line":118,"character":56},{"__symbolic":"reference","module":"@angular/http","name":"RequestOptions","line":165,"character":62}]},{"provide":{"__symbolic":"reference","module":"@angular/http","name":"BrowserXhr","line":166,"character":12},"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_d"}},{"provide":{"__symbolic":"reference","module":"@angular/http","name":"XSRFStrategy","line":166,"character":56},"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_e"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"XhrFactory","line":167,"character":12},"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_d"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHandler","line":168,"character":13},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_g"},"deps":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpBackend","line":144,"character":31},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":170,"character":29}},{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":170,"character":41}]]}]},"origins":{"ɵangular_packages_platform_server_platform_server_a":"./src/server","ɵangular_packages_platform_server_platform_server_b":"./src/transfer_state","PlatformState":"./src/platform_state","ServerModule":"./src/server","platformDynamicServer":"./src/server","platformServer":"./src/server","BEFORE_APP_SERIALIZED":"./src/tokens","INITIAL_CONFIG":"./src/tokens","PlatformConfig":"./src/tokens","ServerTransferStateModule":"./src/transfer_state","renderModule":"./src/utils","renderModuleFactory":"./src/utils","ɵINTERNAL_SERVER_PLATFORM_PROVIDERS":"./src/server","ɵSERVER_RENDER_PROVIDERS":"./src/server","ɵServerRendererFactory2":"./src/server_renderer","VERSION":"./src/version","ɵangular_packages_platform_server_platform_server_c":"./src/styles_host","ɵangular_packages_platform_server_platform_server_d":"./src/http","ɵangular_packages_platform_server_platform_server_e":"./src/http","ɵangular_packages_platform_server_platform_server_f":"./src/http","ɵangular_packages_platform_server_platform_server_g":"./src/http","ɵangular_packages_platform_server_platform_server_h":"./src/http"},"importAs":"@angular/platform-server"}
/**
* @license Angular v6.0.0-rc.6
* @license Angular v6.0.0
* (c) 2010-2018 Google, Inc. https://angular.io/

@@ -4,0 +4,0 @@ * License: MIT

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display