New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@nguniversal/aspnetcore-engine

Package Overview
Dependencies
Maintainers
3
Versions
94
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nguniversal/aspnetcore-engine - npm Package Compare versions

Comparing version 11.0.0-next.1 to 11.0.0-next.2

142

bundles/aspnetcore-engine.umd.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/compiler'), require('@angular/core'), require('@angular/platform-server'), require('@nguniversal/aspnetcore-engine/tokens'), require('fs'), require('@angular/platform-browser'), require('rxjs/operators')) :
typeof define === 'function' && define.amd ? define('@nguniversal/aspnetcore-engine', ['exports', '@angular/common', '@angular/compiler', '@angular/core', '@angular/platform-server', '@nguniversal/aspnetcore-engine/tokens', 'fs', '@angular/platform-browser', 'rxjs/operators'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.nguniversal = global.nguniversal || {}, global.nguniversal.aspnetcoreEngine = {}), global.ng.common, global.ng.compiler, global.ng.core, global.ng.platformServer, global.nguniversal.aspnetcoreEngine.tokens, global.fs, global.ng.platformBrowser, global.rxjs.operators));
}(this, (function (exports, common, compiler, core, platformServer, tokens, fs, platformBrowser, operators) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/compiler'), require('@angular/core'), require('@angular/platform-server'), require('@nguniversal/aspnetcore-engine/tokens'), require('@nguniversal/common/engine'), require('@angular/platform-browser'), require('rxjs/operators')) :
typeof define === 'function' && define.amd ? define('@nguniversal/aspnetcore-engine', ['exports', '@angular/common', '@angular/compiler', '@angular/core', '@angular/platform-server', '@nguniversal/aspnetcore-engine/tokens', '@nguniversal/common/engine', '@angular/platform-browser', 'rxjs/operators'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.nguniversal = global.nguniversal || {}, global.nguniversal.aspnetcoreEngine = {}), global.ng.common, global.ng.compiler, global.ng.core, global.ng.platformServer, global.nguniversal.aspnetcoreEngine.tokens, global.nguniversal.common.engine, global.ng.platformBrowser, global.rxjs.operators));
}(this, (function (exports, common, compiler, core, platformServer, tokens, engine, platformBrowser, operators) { 'use strict';

@@ -308,19 +308,2 @@ /*! *****************************************************************************

/** ResourceLoader implementation for loading files */
var FileLoader = /** @class */ (function () {
function FileLoader() {
}
FileLoader.prototype.get = function (url) {
return new Promise(function (resolve, reject) {
fs.readFile(url, function (err, data) {
if (err) {
return reject(err);
}
resolve(data.toString());
});
});
};
return FileLoader;
}());
function _getPlatform(platformFactory, options) {

@@ -413,71 +396,51 @@ var extraProviders = options.extraProviders ? options.extraProviders : [];

/* @internal */
var UniversalData = /** @class */ (function () {
function UniversalData() {
this.appNode = '';
this.title = '';
this.scripts = '';
this.styles = '';
this.meta = '';
this.links = '';
}
return UniversalData;
}());
/* @internal */
var appSelector = 'app-root'; // default
/* @internal */
function _getUniversalData(doc) {
var STYLES = [];
var SCRIPTS = [];
var META = [];
var LINKS = [];
// tslint:disable-next-line: no-non-null-assertion
for (var i = 0; i < doc.head.children.length; i++) {
// tslint:disable-next-line: no-non-null-assertion
var element = doc.head.children[i];
var tagName = element.tagName.toUpperCase();
switch (tagName) {
case 'SCRIPT':
SCRIPTS.push(element.outerHTML);
break;
case 'STYLE':
STYLES.push(element.outerHTML);
break;
case 'LINK':
LINKS.push(element.outerHTML);
break;
case 'META':
META.push(element.outerHTML);
break;
default:
break;
var e_1, _a;
var styles = [];
var scripts = [];
var meta = [];
var links = [];
// tslint:disable: no-non-null-assertion
var elements = __spread(Array.from(doc.head.children), Array.from(doc.body.children));
try {
// tslint:enable: no-non-null-assertion
for (var elements_1 = __values(elements), elements_1_1 = elements_1.next(); !elements_1_1.done; elements_1_1 = elements_1.next()) {
var element = elements_1_1.value;
switch (element.tagName.toUpperCase()) {
case 'SCRIPT':
scripts.push(element.outerHTML);
break;
case 'STYLE':
styles.push(element.outerHTML);
break;
case 'LINK':
links.push(element.outerHTML);
break;
case 'META':
meta.push(element.outerHTML);
break;
default:
break;
}
}
}
for (var i = 0; i < doc.body.children.length; i++) {
var element = doc.body.children[i];
var tagName = element.tagName.toUpperCase();
switch (tagName) {
case 'SCRIPT':
SCRIPTS.push(element.outerHTML);
break;
case 'STYLE':
STYLES.push(element.outerHTML);
break;
case 'LINK':
LINKS.push(element.outerHTML);
break;
case 'META':
META.push(element.outerHTML);
break;
default:
break;
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (elements_1_1 && !elements_1_1.done && (_a = elements_1.return)) _a.call(elements_1);
}
finally { if (e_1) throw e_1.error; }
}
return {
title: doc.title,
// tslint:disable-next-line: no-non-null-assertion
appNode: doc.querySelector(appSelector).outerHTML,
scripts: SCRIPTS.join('\n'),
styles: STYLES.join('\n'),
meta: META.join('\n'),
links: LINKS.join('\n')
html: doc.querySelector(appSelector).outerHTML,
globals: {
title: doc.title,
scripts: scripts.join('\n'),
styles: styles.join('\n'),
meta: meta.join('\n'),
links: links.join('\n')
}
};

@@ -487,3 +450,3 @@ }

return __awaiter(this, void 0, void 0, function () {
var selector, compilerFactory, compiler$1, moduleOrFactory, extraProviders, factory, result, doc, universalData;
var selector, compilerFactory, compiler$1, moduleOrFactory, extraProviders, factory, result, doc;
return __generator(this, function (_a) {

@@ -502,3 +465,3 @@ switch (_a.label) {

providers: [
{ provide: compiler.ResourceLoader, useClass: FileLoader, deps: [] }
{ provide: compiler.ResourceLoader, useClass: engine.ɵFileLoader, deps: [] }
]

@@ -525,14 +488,3 @@ }

doc = result.moduleRef.injector.get(common.DOCUMENT);
universalData = _getUniversalData(doc);
return [2 /*return*/, {
html: universalData.appNode,
moduleRef: result.moduleRef,
globals: {
styles: universalData.styles,
title: universalData.title,
scripts: universalData.scripts,
meta: universalData.meta,
links: universalData.links
}
}];
return [2 /*return*/, Object.assign({ moduleRef: result.moduleRef }, _getUniversalData(doc))];
}

@@ -539,0 +491,0 @@ });

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

!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@angular/common"),require("@angular/compiler"),require("@angular/core"),require("@angular/platform-server"),require("@nguniversal/aspnetcore-engine/tokens"),require("fs"),require("@angular/platform-browser"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@nguniversal/aspnetcore-engine",["exports","@angular/common","@angular/compiler","@angular/core","@angular/platform-server","@nguniversal/aspnetcore-engine/tokens","fs","@angular/platform-browser","rxjs/operators"],r):r(((e="undefined"!=typeof globalThis?globalThis:e||self).nguniversal=e.nguniversal||{},e.nguniversal.aspnetcoreEngine={}),e.ng.common,e.ng.compiler,e.ng.core,e.ng.platformServer,e.nguniversal.aspnetcoreEngine.tokens,e.fs,e.ng.platformBrowser,e.rxjs.operators)}(this,(function(e,r,t,n,o,i,a,u,s){"use strict";
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@angular/common"),require("@angular/compiler"),require("@angular/core"),require("@angular/platform-server"),require("@nguniversal/aspnetcore-engine/tokens"),require("@nguniversal/common/engine"),require("@angular/platform-browser"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@nguniversal/aspnetcore-engine",["exports","@angular/common","@angular/compiler","@angular/core","@angular/platform-server","@nguniversal/aspnetcore-engine/tokens","@nguniversal/common/engine","@angular/platform-browser","rxjs/operators"],r):r(((e="undefined"!=typeof globalThis?globalThis:e||self).nguniversal=e.nguniversal||{},e.nguniversal.aspnetcoreEngine={}),e.ng.common,e.ng.compiler,e.ng.core,e.ng.platformServer,e.nguniversal.aspnetcoreEngine.tokens,e.nguniversal.common.engine,e.ng.platformBrowser,e.rxjs.operators)}(this,(function(e,r,n,t,o,i,a,u,l){"use strict";
/*! *****************************************************************************

@@ -15,3 +15,3 @@ Copyright (c) Microsoft Corporation.

PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */function l(e,r,t,n){return new(t||(t=Promise))((function(o,i){function a(e){try{s(n.next(e))}catch(e){i(e)}}function u(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){e.done?o(e.value):function r(e){return e instanceof t?e:new t((function(r){r(e)}))}(e.value).then(a,u)}s((n=n.apply(e,r||[])).next())}))}function c(e,r){var t,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function s(i){if(t)throw new TypeError("Generator is already executing.");for(;a;)try{if(t=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=r.call(e,a)}catch(e){i=[6,e],n=0}finally{t=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function p(e,r){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,o,i=t.call(e),a=[];try{for(;(void 0===r||r-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return a}var f=function(){function e(){}return e.prototype.get=function(e){return new Promise((function(r,t){a.readFile(e,(function(e,n){if(e)return t(e);r(n.toString())}))}))},e}();function d(e,r){var t=function i(e,r){return e([{provide:o.INITIAL_CONFIG,useValue:{document:r.document,url:r.url}},r.extraProviders?r.extraProviders:[]])}(o.platformServer,r);return function a(e,r){return l(this,void 0,void 0,(function(){var t,i,a,l,p,f,d,h,g;return c(this,(function(c){switch(c.label){case 0:return[4,r];case 1:if(!(t=c.sent()).injector.get(u.ɵTRANSITION_ID,null))throw new Error("renderModule[Factory]() requires the use of BrowserModule.withServerTransition() to ensure\n the server-rendered app can be properly bootstrapped into a client app.");return[4,t.injector.get(n.ApplicationRef).isStable.pipe(s.first((function(e){return e}))).toPromise()];case 2:if(c.sent(),i=e.injector.get(o.PlatformState),a=t.injector.get(o.BEFORE_APP_SERIALIZED,null))try{for(l=function v(e){var r="function"==typeof Symbol&&Symbol.iterator,t=r&&e[r],n=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}(a),p=l.next();!p.done;p=l.next()){f=p.value;try{f()}catch(e){console.warn("Ignoring BEFORE_APP_SERIALIZED Exception: ",e)}}}catch(e){h={error:e}}finally{try{p&&!p.done&&(g=l.return)&&g.call(l)}finally{if(h)throw h.error}}return d=i.renderToString(),e.destroy(),[2,{html:d,moduleRef:t}]}}))}))}(t,t.bootstrapModuleFactory(e))}var h="app-root",g=new Map;function v(e,r){return l(this,void 0,void 0,(function(){var t,o;return c(this,(function(i){switch(i.label){case 0:return e instanceof n.NgModuleFactory?[2,e]:[3,1];case 1:return(t=g.get(e))?[2,t]:[4,r.compileModuleAsync(e)];case 2:return o=i.sent(),g.set(e,o),[2,o]}}))}))}
***************************************************************************** */function c(e,r,n,t){return new(n||(n=Promise))((function(o,i){function a(e){try{l(t.next(e))}catch(e){i(e)}}function u(e){try{l(t.throw(e))}catch(e){i(e)}}function l(e){e.done?o(e.value):function r(e){return e instanceof n?e:new n((function(r){r(e)}))}(e.value).then(a,u)}l((t=t.apply(e,r||[])).next())}))}function s(e,r){var n,t,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function l(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,t&&(o=2&i[0]?t.return:i[0]?t.throw||((o=t.return)&&o.call(t),0):t.next)&&!(o=o.call(t,i[1])).done)return o;switch(t=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,t=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=r.call(e,a)}catch(e){i=[6,e],t=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function f(e){var r="function"==typeof Symbol&&Symbol.iterator,n=r&&e[r],t=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function p(e,r){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var t,o,i=n.call(e),a=[];try{for(;(void 0===r||r-- >0)&&!(t=i.next()).done;)a.push(t.value)}catch(e){o={error:e}}finally{try{t&&!t.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function d(){for(var e=[],r=0;r<arguments.length;r++)e=e.concat(p(arguments[r]));return e}function g(e,r){var n=function i(e,r){return e([{provide:o.INITIAL_CONFIG,useValue:{document:r.document,url:r.url}},r.extraProviders?r.extraProviders:[]])}(o.platformServer,r);return function a(e,r){return c(this,void 0,void 0,(function(){var n,i,a,c,p,d,g,v,y;return s(this,(function(s){switch(s.label){case 0:return[4,r];case 1:if(!(n=s.sent()).injector.get(u.ɵTRANSITION_ID,null))throw new Error("renderModule[Factory]() requires the use of BrowserModule.withServerTransition() to ensure\n the server-rendered app can be properly bootstrapped into a client app.");return[4,n.injector.get(t.ApplicationRef).isStable.pipe(l.first((function(e){return e}))).toPromise()];case 2:if(s.sent(),i=e.injector.get(o.PlatformState),a=n.injector.get(o.BEFORE_APP_SERIALIZED,null))try{for(c=f(a),p=c.next();!p.done;p=c.next()){d=p.value;try{d()}catch(e){console.warn("Ignoring BEFORE_APP_SERIALIZED Exception: ",e)}}}catch(e){v={error:e}}finally{try{p&&!p.done&&(y=c.return)&&y.call(c)}finally{if(v)throw v.error}}return g=i.renderToString(),e.destroy(),[2,{html:g,moduleRef:n}]}}))}))}(n,n.bootstrapModuleFactory(e))}var v="app-root";function y(e){var r,n,t=[],o=[],i=[],a=[],u=d(Array.from(e.head.children),Array.from(e.body.children));try{for(var l=f(u),c=l.next();!c.done;c=l.next()){var s=c.value;switch(s.tagName.toUpperCase()){case"SCRIPT":o.push(s.outerHTML);break;case"STYLE":t.push(s.outerHTML);break;case"LINK":a.push(s.outerHTML);break;case"META":i.push(s.outerHTML)}}}catch(e){r={error:e}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}return{html:e.querySelector(v).outerHTML,globals:{title:e.title,scripts:o.join("\n"),styles:t.join("\n"),meta:i.join("\n"),links:a.join("\n")}}}var m=new Map;function h(e,r){return c(this,void 0,void 0,(function(){var n,o;return s(this,(function(i){switch(i.label){case 0:return e instanceof t.NgModuleFactory?[2,e]:[3,1];case 1:return(n=m.get(e))?[2,n]:[4,r.compileModuleAsync(e)];case 2:return o=i.sent(),m.set(e,o),[2,o]}}))}))}
/**

@@ -38,2 +38,2 @@ * @license

*/
e.createTransferScript=function y(e){return"<script>window['TRANSFER_CACHE'] = "+JSON.stringify(e)+";<\/script>"},e.ngAspnetCoreEngine=function m(e){return l(this,void 0,void 0,(function(){var a,u,s,l,g,y,m;return c(this,(function(c){switch(c.label){case 0:if(!e.appSelector)throw new Error("appSelector is required! Pass in \" appSelector: '<"+h+"></"+h+">' \",\n for your root App component.");if(h=e.appSelector.substring(1,e.appSelector.indexOf(">")),a=o.platformDynamicServer().injector.get(n.CompilerFactory),u=a.createCompiler([{providers:[{provide:t.ResourceLoader,useClass:f,deps:[]}]}]),!(s=e.ngModule))throw new Error("You must pass in a NgModule or NgModuleFactory to be bootstrapped");return l=function b(){for(var e=[],r=0;r<arguments.length;r++)e=e.concat(p(arguments[r]));return e}(e.providers||[],[(S=e.request.origin,T=e.request.data.request,E=[{provide:i.ORIGIN_URL,useValue:S},{provide:i.REQUEST,useValue:T}],E)]),[4,v(s,u)];case 1:return[4,d(c.sent(),{document:e.document||e.appSelector,url:e.url||e.request.absoluteUrl,extraProviders:l})];case 2:return g=c.sent(),y=g.moduleRef.injector.get(r.DOCUMENT),[2,{html:(m=function w(e){for(var r=[],t=[],n=[],o=[],i=0;i<e.head.children.length;i++)switch((a=e.head.children[i]).tagName.toUpperCase()){case"SCRIPT":t.push(a.outerHTML);break;case"STYLE":r.push(a.outerHTML);break;case"LINK":o.push(a.outerHTML);break;case"META":n.push(a.outerHTML)}for(i=0;i<e.body.children.length;i++){var a;switch((a=e.body.children[i]).tagName.toUpperCase()){case"SCRIPT":t.push(a.outerHTML);break;case"STYLE":r.push(a.outerHTML);break;case"LINK":o.push(a.outerHTML);break;case"META":n.push(a.outerHTML)}}return{title:e.title,appNode:e.querySelector(h).outerHTML,scripts:t.join("\n"),styles:r.join("\n"),meta:n.join("\n"),links:o.join("\n")}}(y)).appNode,moduleRef:g.moduleRef,globals:{styles:m.styles,title:m.title,scripts:m.scripts,meta:m.meta,links:m.links}}]}var S,T,E}))}))},Object.defineProperty(e,"__esModule",{value:!0})}));
e.createTransferScript=function b(e){return"<script>window['TRANSFER_CACHE'] = "+JSON.stringify(e)+";<\/script>"},e.ngAspnetCoreEngine=function w(e){return c(this,void 0,void 0,(function(){var u,l,c,f,p,m;return s(this,(function(s){switch(s.label){case 0:if(!e.appSelector)throw new Error("appSelector is required! Pass in \" appSelector: '<"+v+"></"+v+">' \",\n for your root App component.");if(v=e.appSelector.substring(1,e.appSelector.indexOf(">")),u=o.platformDynamicServer().injector.get(t.CompilerFactory),l=u.createCompiler([{providers:[{provide:n.ResourceLoader,useClass:a.ɵFileLoader,deps:[]}]}]),!(c=e.ngModule))throw new Error("You must pass in a NgModule or NgModuleFactory to be bootstrapped");return f=d(e.providers||[],[(b=e.request.origin,w=e.request.data.request,S=[{provide:i.ORIGIN_URL,useValue:b},{provide:i.REQUEST,useValue:w}],S)]),[4,h(c,l)];case 1:return[4,g(s.sent(),{document:e.document||e.appSelector,url:e.url||e.request.absoluteUrl,extraProviders:f})];case 2:return p=s.sent(),m=p.moduleRef.injector.get(r.DOCUMENT),[2,Object.assign({moduleRef:p.moduleRef},y(m))]}var b,w,S}))}))},Object.defineProperty(e,"__esModule",{value:!0})}));

@@ -14,40 +14,31 @@ import { __awaiter } from "tslib";

import { ORIGIN_URL, REQUEST } from '@nguniversal/aspnetcore-engine/tokens';
import { FileLoader } from './file-loader';
import { ɵFileLoader } from '@nguniversal/common/engine';
import { renderModuleFactory } from './platform-server-utils';
/* @internal */
export class UniversalData {
constructor() {
this.appNode = '';
this.title = '';
this.scripts = '';
this.styles = '';
this.meta = '';
this.links = '';
}
}
/* @internal */
let appSelector = 'app-root'; // default
/* @internal */
function _getUniversalData(doc) {
const STYLES = [];
const SCRIPTS = [];
const META = [];
const LINKS = [];
// tslint:disable-next-line: no-non-null-assertion
for (let i = 0; i < doc.head.children.length; i++) {
// tslint:disable-next-line: no-non-null-assertion
const element = doc.head.children[i];
const tagName = element.tagName.toUpperCase();
switch (tagName) {
const styles = [];
const scripts = [];
const meta = [];
const links = [];
// tslint:disable: no-non-null-assertion
const elements = [
...Array.from(doc.head.children),
...Array.from(doc.body.children),
];
// tslint:enable: no-non-null-assertion
for (const element of elements) {
switch (element.tagName.toUpperCase()) {
case 'SCRIPT':
SCRIPTS.push(element.outerHTML);
scripts.push(element.outerHTML);
break;
case 'STYLE':
STYLES.push(element.outerHTML);
styles.push(element.outerHTML);
break;
case 'LINK':
LINKS.push(element.outerHTML);
links.push(element.outerHTML);
break;
case 'META':
META.push(element.outerHTML);
meta.push(element.outerHTML);
break;

@@ -58,30 +49,12 @@ default:

}
for (let i = 0; i < doc.body.children.length; i++) {
const element = doc.body.children[i];
const tagName = element.tagName.toUpperCase();
switch (tagName) {
case 'SCRIPT':
SCRIPTS.push(element.outerHTML);
break;
case 'STYLE':
STYLES.push(element.outerHTML);
break;
case 'LINK':
LINKS.push(element.outerHTML);
break;
case 'META':
META.push(element.outerHTML);
break;
default:
break;
}
}
return {
title: doc.title,
// tslint:disable-next-line: no-non-null-assertion
appNode: doc.querySelector(appSelector).outerHTML,
scripts: SCRIPTS.join('\n'),
styles: STYLES.join('\n'),
meta: META.join('\n'),
links: LINKS.join('\n')
html: doc.querySelector(appSelector).outerHTML,
globals: {
title: doc.title,
scripts: scripts.join('\n'),
styles: styles.join('\n'),
meta: meta.join('\n'),
links: links.join('\n')
}
};

@@ -102,3 +75,3 @@ }

providers: [
{ provide: ResourceLoader, useClass: FileLoader, deps: [] }
{ provide: ResourceLoader, useClass: ɵFileLoader, deps: [] }
]

@@ -122,14 +95,3 @@ }

const doc = result.moduleRef.injector.get(DOCUMENT);
const universalData = _getUniversalData(doc);
return {
html: universalData.appNode,
moduleRef: result.moduleRef,
globals: {
styles: universalData.styles,
title: universalData.title,
scripts: universalData.scripts,
meta: universalData.meta,
links: universalData.links
}
};
return Object.assign({ moduleRef: result.moduleRef }, _getUniversalData(doc));
});

@@ -174,2 +136,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvYXNwbmV0Y29yZS1lbmdpbmUvc3JjL21haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFZLGVBQWUsRUFBRSxlQUFlLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxlQUFlO0FBQ2YsTUFBTSxPQUFPLGFBQWE7SUFBMUI7UUFDRSxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFVBQUssR0FBRyxFQUFFLENBQUM7SUFDYixDQUFDO0NBQUE7QUFFRCxlQUFlO0FBQ2YsSUFBSSxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUMsVUFBVTtBQUV4QyxlQUFlO0FBQ2YsU0FBUyxpQkFBaUIsQ0FBQyxHQUFhO0lBRXRDLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7SUFDN0IsTUFBTSxJQUFJLEdBQWEsRUFBRSxDQUFDO0lBQzFCLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztJQUUzQixrREFBa0Q7SUFDbEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNsRCxrREFBa0Q7UUFDbEQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU5QyxRQUFRLE9BQU8sRUFBRTtZQUNmLEtBQUssUUFBUTtnQkFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDaEMsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDL0IsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDOUIsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDN0IsTUFBTTtZQUNSO2dCQUNFLE1BQU07U0FDVDtLQUNGO0lBRUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNqRCxNQUFNLE9BQU8sR0FBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTlDLFFBQVEsT0FBTyxFQUFFO1lBQ2YsS0FBSyxRQUFRO2dCQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNO1lBQ1IsS0FBSyxPQUFPO2dCQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMvQixNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM5QixNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM3QixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtTQUNUO0tBQ0Y7SUFFRCxPQUFPO1FBQ0wsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1FBQ2hCLGtEQUFrRDtRQUNsRCxPQUFPLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUUsQ0FBQyxTQUFTO1FBQ2xELE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3JCLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztLQUN4QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBZ0Isa0JBQWtCLENBQUMsT0FBaUM7O1FBRXhFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3hCLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixXQUFXLE1BQU0sV0FBVyxNQUFNLENBQUM7WUFDeEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsUUFBUTtrQ0FDOUIsQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsMEZBQTBGO1FBQzFGLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVqRixNQUFNLGVBQWUsR0FBb0IscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9GLE1BQU0sUUFBUSxHQUFhLGVBQWUsQ0FBQyxjQUFjLENBQUM7WUFDeEQ7Z0JBQ0UsU0FBUyxFQUFFO29CQUNULEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7aUJBQzVEO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO1NBQ3RGO1FBRUQsTUFBTSxjQUFjLEdBQUc7WUFDckIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1lBQzVCLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUN6RSxDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVELE1BQU0sTUFBTSxHQUFHLE1BQU0sbUJBQW1CLENBQUMsT0FBTyxFQUFFO1lBQ2hELFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxXQUFXO1lBQ2pELEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUMvQyxjQUFjO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTdDLE9BQU87WUFDTCxJQUFJLEVBQUUsYUFBYSxDQUFDLE9BQU87WUFDM0IsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLE9BQU8sRUFBRTtnQkFDUCxNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU07Z0JBQzVCLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSztnQkFDMUIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxPQUFPO2dCQUM5QixJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUk7Z0JBQ3hCLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSzthQUMzQjtTQUNGLENBQUM7SUFDSixDQUFDO0NBQUE7QUFFRDs7R0FFRztBQUNILFNBQVMsa0JBQWtCLENBQUMsTUFBYyxFQUFFLE9BQWU7SUFDekQsTUFBTSxTQUFTLEdBQXFCO1FBQ2xDO1lBQ0UsT0FBTyxFQUFFLFVBQVU7WUFDbkIsUUFBUSxFQUFFLE1BQU07U0FDakI7UUFDRDtZQUNFLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxPQUFPO1NBQ2xCO0tBQ0YsQ0FBQztJQUVGLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxlQUFlO0FBQ2YsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQWlDLENBQUM7QUFDakUsU0FBZSxVQUFVLENBQ3ZCLGVBQStDLEVBQUUsUUFBa0I7O1FBRW5FLGtDQUFrQztRQUNsQyxJQUFJLGVBQWUsWUFBWSxlQUFlLEVBQUU7WUFDOUMsT0FBTyxlQUFlLENBQUM7U0FDeEI7YUFBTTtZQUNMLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDM0QsOEJBQThCO1lBQzlCLElBQUksYUFBYSxFQUFFO2dCQUNqQixPQUFPLGFBQWEsQ0FBQzthQUN0QjtZQUVELGtDQUFrQztZQUNsQyxNQUFNLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNuRSxlQUFlLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUU5QyxPQUFPLE9BQU8sQ0FBQztTQUNoQjtJQUNILENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVzb3VyY2VMb2FkZXIgfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQgeyBDb21waWxlciwgQ29tcGlsZXJGYWN0b3J5LCBOZ01vZHVsZUZhY3RvcnksIFN0YXRpY1Byb3ZpZGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwbGF0Zm9ybUR5bmFtaWNTZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1zZXJ2ZXInO1xuXG5pbXBvcnQgeyBPUklHSU5fVVJMLCBSRVFVRVNUIH0gZnJvbSAnQG5ndW5pdmVyc2FsL2FzcG5ldGNvcmUtZW5naW5lL3Rva2Vucyc7XG5pbXBvcnQgeyBGaWxlTG9hZGVyIH0gZnJvbSAnLi9maWxlLWxvYWRlcic7XG5pbXBvcnQgeyBJRW5naW5lT3B0aW9ucyB9IGZyb20gJy4vaW50ZXJmYWNlcy9lbmdpbmUtb3B0aW9ucyc7XG5pbXBvcnQgeyBJRW5naW5lUmVuZGVyUmVzdWx0IH0gZnJvbSAnLi9pbnRlcmZhY2VzL2VuZ2luZS1yZW5kZXItcmVzdWx0JztcbmltcG9ydCB7IHJlbmRlck1vZHVsZUZhY3RvcnkgfSBmcm9tICcuL3BsYXRmb3JtLXNlcnZlci11dGlscyc7XG5cbi8qIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNsYXNzIFVuaXZlcnNhbERhdGEge1xuICBhcHBOb2RlID0gJyc7XG4gIHRpdGxlID0gJyc7XG4gIHNjcmlwdHMgPSAnJztcbiAgc3R5bGVzID0gJyc7XG4gIG1ldGEgPSAnJztcbiAgbGlua3MgPSAnJztcbn1cblxuLyogQGludGVybmFsICovXG5sZXQgYXBwU2VsZWN0b3IgPSAnYXBwLXJvb3QnOyAvLyBkZWZhdWx0XG5cbi8qIEBpbnRlcm5hbCAqL1xuZnVuY3Rpb24gX2dldFVuaXZlcnNhbERhdGEoZG9jOiBEb2N1bWVudCk6IFVuaXZlcnNhbERhdGEge1xuXG4gIGNvbnN0IFNUWUxFUzogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgU0NSSVBUUzogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgTUVUQTogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgTElOS1M6IHN0cmluZ1tdID0gW107XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1ub24tbnVsbC1hc3NlcnRpb25cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkb2MuaGVhZCEuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLW5vbi1udWxsLWFzc2VydGlvblxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2MuaGVhZCEuY2hpbGRyZW5baV07XG4gICAgY29uc3QgdGFnTmFtZSA9IGVsZW1lbnQudGFnTmFtZS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgc3dpdGNoICh0YWdOYW1lKSB7XG4gICAgICBjYXNlICdTQ1JJUFQnOlxuICAgICAgICBTQ1JJUFRTLnB1c2goZWxlbWVudC5vdXRlckhUTUwpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1NUWUxFJzpcbiAgICAgICAgU1RZTEVTLnB1c2goZWxlbWVudC5vdXRlckhUTUwpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0xJTksnOlxuICAgICAgICBMSU5LUy5wdXNoKGVsZW1lbnQub3V0ZXJIVE1MKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdNRVRBJzpcbiAgICAgICAgTUVUQS5wdXNoKGVsZW1lbnQub3V0ZXJIVE1MKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGRvYy5ib2R5LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgZWxlbWVudDogRWxlbWVudCA9IGRvYy5ib2R5LmNoaWxkcmVuW2ldO1xuICAgIGNvbnN0IHRhZ05hbWUgPSBlbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2UoKTtcblxuICAgIHN3aXRjaCAodGFnTmFtZSkge1xuICAgICAgY2FzZSAnU0NSSVBUJzpcbiAgICAgICAgU0NSSVBUUy5wdXNoKGVsZW1lbnQub3V0ZXJIVE1MKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdTVFlMRSc6XG4gICAgICAgIFNUWUxFUy5wdXNoKGVsZW1lbnQub3V0ZXJIVE1MKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdMSU5LJzpcbiAgICAgICAgTElOS1MucHVzaChlbGVtZW50Lm91dGVySFRNTCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTUVUQSc6XG4gICAgICAgIE1FVEEucHVzaChlbGVtZW50Lm91dGVySFRNTCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0aXRsZTogZG9jLnRpdGxlLFxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgYXBwTm9kZTogZG9jLnF1ZXJ5U2VsZWN0b3IoYXBwU2VsZWN0b3IpIS5vdXRlckhUTUwsXG4gICAgc2NyaXB0czogU0NSSVBUUy5qb2luKCdcXG4nKSxcbiAgICBzdHlsZXM6IFNUWUxFUy5qb2luKCdcXG4nKSxcbiAgICBtZXRhOiBNRVRBLmpvaW4oJ1xcbicpLFxuICAgIGxpbmtzOiBMSU5LUy5qb2luKCdcXG4nKVxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbmdBc3BuZXRDb3JlRW5naW5lKG9wdGlvbnM6IFJlYWRvbmx5PElFbmdpbmVPcHRpb25zPilcbiAgOiBQcm9taXNlPElFbmdpbmVSZW5kZXJSZXN1bHQ+IHtcbiAgaWYgKCFvcHRpb25zLmFwcFNlbGVjdG9yKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBgXCIgYXBwU2VsZWN0b3I6ICc8JHthcHBTZWxlY3Rvcn0+PC8ke2FwcFNlbGVjdG9yfT4nIFwiYDtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGFwcFNlbGVjdG9yIGlzIHJlcXVpcmVkISBQYXNzIGluICR7c2VsZWN0b3J9LFxuICAgICBmb3IgeW91ciByb290IEFwcCBjb21wb25lbnQuYCk7XG4gIH1cblxuICAvLyBHcmFiIHRoZSBET00gXCJzZWxlY3RvclwiIGZyb20gdGhlIHBhc3NlZCBpbiBUZW1wbGF0ZSA8YXBwLXJvb3Q+IGZvciBleGFtcGxlID0gXCJhcHAtcm9vdFwiXG4gIGFwcFNlbGVjdG9yID0gb3B0aW9ucy5hcHBTZWxlY3Rvci5zdWJzdHJpbmcoMSwgb3B0aW9ucy5hcHBTZWxlY3Rvci5pbmRleE9mKCc+JykpO1xuXG4gIGNvbnN0IGNvbXBpbGVyRmFjdG9yeTogQ29tcGlsZXJGYWN0b3J5ID0gcGxhdGZvcm1EeW5hbWljU2VydmVyKCkuaW5qZWN0b3IuZ2V0KENvbXBpbGVyRmFjdG9yeSk7XG4gIGNvbnN0IGNvbXBpbGVyOiBDb21waWxlciA9IGNvbXBpbGVyRmFjdG9yeS5jcmVhdGVDb21waWxlcihbXG4gICAge1xuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogUmVzb3VyY2VMb2FkZXIsIHVzZUNsYXNzOiBGaWxlTG9hZGVyLCBkZXBzOiBbXSB9XG4gICAgICBdXG4gICAgfVxuICBdKTtcblxuICBjb25zdCBtb2R1bGVPckZhY3RvcnkgPSBvcHRpb25zLm5nTW9kdWxlO1xuICBpZiAoIW1vZHVsZU9yRmFjdG9yeSkge1xuICAgIHRocm93IG5ldyBFcnJvcignWW91IG11c3QgcGFzcyBpbiBhIE5nTW9kdWxlIG9yIE5nTW9kdWxlRmFjdG9yeSB0byBiZSBib290c3RyYXBwZWQnKTtcbiAgfVxuXG4gIGNvbnN0IGV4dHJhUHJvdmlkZXJzID0gW1xuICAgIC4uLihvcHRpb25zLnByb3ZpZGVycyB8fCBbXSksXG4gICAgZ2V0UmVxUmVzUHJvdmlkZXJzKG9wdGlvbnMucmVxdWVzdC5vcmlnaW4sIG9wdGlvbnMucmVxdWVzdC5kYXRhLnJlcXVlc3QpLFxuICBdO1xuXG4gIGNvbnN0IGZhY3RvcnkgPSBhd2FpdCBnZXRGYWN0b3J5KG1vZHVsZU9yRmFjdG9yeSwgY29tcGlsZXIpO1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCByZW5kZXJNb2R1bGVGYWN0b3J5KGZhY3RvcnksIHtcbiAgICBkb2N1bWVudDogb3B0aW9ucy5kb2N1bWVudCB8fCBvcHRpb25zLmFwcFNlbGVjdG9yLFxuICAgIHVybDogb3B0aW9ucy51cmwgfHwgb3B0aW9ucy5yZXF1ZXN0LmFic29sdXRlVXJsLFxuICAgIGV4dHJhUHJvdmlkZXJzLFxuICB9KTtcblxuICBjb25zdCBkb2MgPSByZXN1bHQubW9kdWxlUmVmLmluamVjdG9yLmdldChET0NVTUVOVCk7XG4gIGNvbnN0IHVuaXZlcnNhbERhdGEgPSBfZ2V0VW5pdmVyc2FsRGF0YShkb2MpO1xuXG4gIHJldHVybiB7XG4gICAgaHRtbDogdW5pdmVyc2FsRGF0YS5hcHBOb2RlLFxuICAgIG1vZHVsZVJlZjogcmVzdWx0Lm1vZHVsZVJlZixcbiAgICBnbG9iYWxzOiB7XG4gICAgICBzdHlsZXM6IHVuaXZlcnNhbERhdGEuc3R5bGVzLFxuICAgICAgdGl0bGU6IHVuaXZlcnNhbERhdGEudGl0bGUsXG4gICAgICBzY3JpcHRzOiB1bml2ZXJzYWxEYXRhLnNjcmlwdHMsXG4gICAgICBtZXRhOiB1bml2ZXJzYWxEYXRhLm1ldGEsXG4gICAgICBsaW5rczogdW5pdmVyc2FsRGF0YS5saW5rc1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBHZXQgcHJvdmlkZXJzIG9mIHRoZSByZXF1ZXN0IGFuZCByZXNwb25zZVxuICovXG5mdW5jdGlvbiBnZXRSZXFSZXNQcm92aWRlcnMob3JpZ2luOiBzdHJpbmcsIHJlcXVlc3Q6IHN0cmluZyk6IFN0YXRpY1Byb3ZpZGVyW10ge1xuICBjb25zdCBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbXG4gICAge1xuICAgICAgcHJvdmlkZTogT1JJR0lOX1VSTCxcbiAgICAgIHVzZVZhbHVlOiBvcmlnaW5cbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJFUVVFU1QsXG4gICAgICB1c2VWYWx1ZTogcmVxdWVzdFxuICAgIH1cbiAgXTtcblxuICByZXR1cm4gcHJvdmlkZXJzO1xufVxuXG4vKiBAaW50ZXJuYWwgKi9cbmNvbnN0IGZhY3RvcnlDYWNoZU1hcCA9IG5ldyBNYXA8VHlwZTx7fT4sIE5nTW9kdWxlRmFjdG9yeTx7fT4+KCk7XG5hc3luYyBmdW5jdGlvbiBnZXRGYWN0b3J5KFxuICBtb2R1bGVPckZhY3Rvcnk6IFR5cGU8e30+IHwgTmdNb2R1bGVGYWN0b3J5PHt9PiwgY29tcGlsZXI6IENvbXBpbGVyXG4pOiBQcm9taXNlPE5nTW9kdWxlRmFjdG9yeTx7fT4+IHtcbiAgLy8gSWYgbW9kdWxlIGhhcyBiZWVuIGNvbXBpbGVkIEFvVFxuICBpZiAobW9kdWxlT3JGYWN0b3J5IGluc3RhbmNlb2YgTmdNb2R1bGVGYWN0b3J5KSB7XG4gICAgcmV0dXJuIG1vZHVsZU9yRmFjdG9yeTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBtb2R1bGVGYWN0b3J5ID0gZmFjdG9yeUNhY2hlTWFwLmdldChtb2R1bGVPckZhY3RvcnkpO1xuICAgIC8vIElmIG1vZHVsZSBmYWN0b3J5IGlzIGNhY2hlZFxuICAgIGlmIChtb2R1bGVGYWN0b3J5KSB7XG4gICAgICByZXR1cm4gbW9kdWxlRmFjdG9yeTtcbiAgICB9XG5cbiAgICAvLyBDb21waWxlIHRoZSBtb2R1bGUgYW5kIGNhY2hlIGl0XG4gICAgY29uc3QgZmFjdG9yeSA9IGF3YWl0IGNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBc3luYyhtb2R1bGVPckZhY3RvcnkpO1xuICAgIGZhY3RvcnlDYWNoZU1hcC5zZXQobW9kdWxlT3JGYWN0b3J5LCBmYWN0b3J5KTtcblxuICAgIHJldHVybiBmYWN0b3J5O1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvYXNwbmV0Y29yZS1lbmdpbmUvc3JjL21haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFZLGVBQWUsRUFBRSxlQUFlLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELGVBQWU7QUFDZixJQUFJLFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FBQyxVQUFVO0FBRXhDLGVBQWU7QUFDZixTQUFTLGlCQUFpQixDQUFDLEdBQWE7SUFFdEMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBQzVCLE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUM3QixNQUFNLElBQUksR0FBYSxFQUFFLENBQUM7SUFDMUIsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFDO0lBRTNCLHdDQUF3QztJQUN4QyxNQUFNLFFBQVEsR0FBRztRQUNmLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUssQ0FBQyxRQUFRLENBQUM7S0FDbEMsQ0FBQztJQUNGLHVDQUF1QztJQUV2QyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEs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QUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFcEQsdUJBQ0UsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLElBQ3hCLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxFQUN6QjtJQUNKLENBQUM7Q0FBQTtBQUVEOztHQUVHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FBQyxNQUFjLEVBQUUsT0FBZTtJQUN6RCxNQUFNLFNBQVMsR0FBcUI7UUFDbEM7WUFDRSxPQUFPLEVBQUUsVUFBVTtZQUNuQixRQUFRLEVBQUUsTUFBTTtTQUNqQjtRQUNEO1lBQ0UsT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUSxFQUFFLE9BQU87U0FDbEI7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELGVBQWU7QUFDZixNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztBQUNqRSxTQUFlLFVBQVUsQ0FDdkIsZUFBK0MsRUFBRSxRQUFrQjs7UUFFbkUsa0NBQWtDO1FBQ2xDLElBQUksZUFBZSxZQUFZLGVBQWUsRUFBRTtZQUM5QyxPQUFPLGVBQWUsQ0FBQztTQUN4QjthQUFNO1lBQ0wsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMzRCw4QkFBOEI7WUFDOUIsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pCLE9BQU8sYUFBYSxDQUFDO2FBQ3RCO1lBRUQsa0NBQWtDO1lBQ2xDLE1BQU0sT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ25FLGVBQWUsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRTlDLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZXNvdXJjZUxvYWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcbmltcG9ydCB7IENvbXBpbGVyLCBDb21waWxlckZhY3RvcnksIE5nTW9kdWxlRmFjdG9yeSwgU3RhdGljUHJvdmlkZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHBsYXRmb3JtRHluYW1pY1NlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLXNlcnZlcic7XG5cbmltcG9ydCB7IE9SSUdJTl9VUkwsIFJFUVVFU1QgfSBmcm9tICdAbmd1bml2ZXJzYWwvYXNwbmV0Y29yZS1lbmdpbmUvdG9rZW5zJztcbmltcG9ydCB7IMm1RmlsZUxvYWRlciB9IGZyb20gJ0BuZ3VuaXZlcnNhbC9jb21tb24vZW5naW5lJztcbmltcG9ydCB7IElFbmdpbmVPcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2VuZ2luZS1vcHRpb25zJztcbmltcG9ydCB7IElFbmdpbmVSZW5kZXJSZXN1bHQgfSBmcm9tICcuL2ludGVyZmFjZXMvZW5naW5lLXJlbmRlci1yZXN1bHQnO1xuaW1wb3J0IHsgcmVuZGVyTW9kdWxlRmFjdG9yeSB9IGZyb20gJy4vcGxhdGZvcm0tc2VydmVyLXV0aWxzJztcblxuLyogQGludGVybmFsICovXG5sZXQgYXBwU2VsZWN0b3IgPSAnYXBwLXJvb3QnOyAvLyBkZWZhdWx0XG5cbi8qIEBpbnRlcm5hbCAqL1xuZnVuY3Rpb24gX2dldFVuaXZlcnNhbERhdGEoZG9jOiBEb2N1bWVudCk6IE9taXQ8SUVuZ2luZVJlbmRlclJlc3VsdCwgJ21vZHVsZVJlZic+IHtcblxuICBjb25zdCBzdHlsZXM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IHNjcmlwdHM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IG1ldGE6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGxpbmtzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlOiBuby1ub24tbnVsbC1hc3NlcnRpb25cbiAgY29uc3QgZWxlbWVudHMgPSBbXG4gICAgLi4uQXJyYXkuZnJvbShkb2MuaGVhZCEuY2hpbGRyZW4pLFxuICAgIC4uLkFycmF5LmZyb20oZG9jLmJvZHkhLmNoaWxkcmVuKSxcbiAgXTtcbiAgLy8gdHNsaW50OmVuYWJsZTogbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG5cbiAgZm9yIChjb25zdCBlbGVtZW50IG9mIGVsZW1lbnRzKSB7XG4gICAgc3dpdGNoIChlbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2UoKSkge1xuICAgICAgY2FzZSAnU0NSSVBUJzpcbiAgICAgICAgc2NyaXB0cy5wdXNoKGVsZW1lbnQub3V0ZXJIVE1MKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdTVFlMRSc6XG4gICAgICAgIHN0eWxlcy5wdXNoKGVsZW1lbnQub3V0ZXJIVE1MKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdMSU5LJzpcbiAgICAgICAgbGlua3MucHVzaChlbGVtZW50Lm91dGVySFRNTCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTUVUQSc6XG4gICAgICAgIG1ldGEucHVzaChlbGVtZW50Lm91dGVySFRNTCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLW5vbi1udWxsLWFzc2VydGlvblxuICAgIGh0bWw6IGRvYy5xdWVyeVNlbGVjdG9yKGFwcFNlbGVjdG9yKSEub3V0ZXJIVE1MLFxuICAgIGdsb2JhbHM6IHtcbiAgICAgIHRpdGxlOiBkb2MudGl0bGUsXG4gICAgICBzY3JpcHRzOiBzY3JpcHRzLmpvaW4oJ1xcbicpLFxuICAgICAgc3R5bGVzOiBzdHlsZXMuam9pbignXFxuJyksXG4gICAgICBtZXRhOiBtZXRhLmpvaW4oJ1xcbicpLFxuICAgICAgbGlua3M6IGxpbmtzLmpvaW4oJ1xcbicpXG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbmdBc3BuZXRDb3JlRW5naW5lKG9wdGlvbnM6IFJlYWRvbmx5PElFbmdpbmVPcHRpb25zPilcbiAgOiBQcm9taXNlPElFbmdpbmVSZW5kZXJSZXN1bHQ+IHtcbiAgaWYgKCFvcHRpb25zLmFwcFNlbGVjdG9yKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBgXCIgYXBwU2VsZWN0b3I6ICc8JHthcHBTZWxlY3Rvcn0+PC8ke2FwcFNlbGVjdG9yfT4nIFwiYDtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGFwcFNlbGVjdG9yIGlzIHJlcXVpcmVkISBQYXNzIGluICR7c2VsZWN0b3J9LFxuICAgICBmb3IgeW91ciByb290IEFwcCBjb21wb25lbnQuYCk7XG4gIH1cblxuICAvLyBHcmFiIHRoZSBET00gXCJzZWxlY3RvclwiIGZyb20gdGhlIHBhc3NlZCBpbiBUZW1wbGF0ZSA8YXBwLXJvb3Q+IGZvciBleGFtcGxlID0gXCJhcHAtcm9vdFwiXG4gIGFwcFNlbGVjdG9yID0gb3B0aW9ucy5hcHBTZWxlY3Rvci5zdWJzdHJpbmcoMSwgb3B0aW9ucy5hcHBTZWxlY3Rvci5pbmRleE9mKCc+JykpO1xuXG4gIGNvbnN0IGNvbXBpbGVyRmFjdG9yeTogQ29tcGlsZXJGYWN0b3J5ID0gcGxhdGZvcm1EeW5hbWljU2VydmVyKCkuaW5qZWN0b3IuZ2V0KENvbXBpbGVyRmFjdG9yeSk7XG4gIGNvbnN0IGNvbXBpbGVyOiBDb21waWxlciA9IGNvbXBpbGVyRmFjdG9yeS5jcmVhdGVDb21waWxlcihbXG4gICAge1xuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogUmVzb3VyY2VMb2FkZXIsIHVzZUNsYXNzOiDJtUZpbGVMb2FkZXIsIGRlcHM6IFtdIH1cbiAgICAgIF1cbiAgICB9XG4gIF0pO1xuXG4gIGNvbnN0IG1vZHVsZU9yRmFjdG9yeSA9IG9wdGlvbnMubmdNb2R1bGU7XG4gIGlmICghbW9kdWxlT3JGYWN0b3J5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgbXVzdCBwYXNzIGluIGEgTmdNb2R1bGUgb3IgTmdNb2R1bGVGYWN0b3J5IHRvIGJlIGJvb3RzdHJhcHBlZCcpO1xuICB9XG5cbiAgY29uc3QgZXh0cmFQcm92aWRlcnMgPSBbXG4gICAgLi4uKG9wdGlvbnMucHJvdmlkZXJzIHx8IFtdKSxcbiAgICBnZXRSZXFSZXNQcm92aWRlcnMob3B0aW9ucy5yZXF1ZXN0Lm9yaWdpbiwgb3B0aW9ucy5yZXF1ZXN0LmRhdGEucmVxdWVzdCksXG4gIF07XG5cbiAgY29uc3QgZmFjdG9yeSA9IGF3YWl0IGdldEZhY3RvcnkobW9kdWxlT3JGYWN0b3J5LCBjb21waWxlcik7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlbmRlck1vZHVsZUZhY3RvcnkoZmFjdG9yeSwge1xuICAgIGRvY3VtZW50OiBvcHRpb25zLmRvY3VtZW50IHx8IG9wdGlvbnMuYXBwU2VsZWN0b3IsXG4gICAgdXJsOiBvcHRpb25zLnVybCB8fCBvcHRpb25zLnJlcXVlc3QuYWJzb2x1dGVVcmwsXG4gICAgZXh0cmFQcm92aWRlcnMsXG4gIH0pO1xuXG4gIGNvbnN0IGRvYyA9IHJlc3VsdC5tb2R1bGVSZWYuaW5qZWN0b3IuZ2V0KERPQ1VNRU5UKTtcblxuICByZXR1cm4ge1xuICAgIG1vZHVsZVJlZjogcmVzdWx0Lm1vZHVsZVJlZixcbiAgICAuLi5fZ2V0VW5pdmVyc2FsRGF0YShkb2MpLFxuICB9O1xufVxuXG4vKipcbiAqIEdldCBwcm92aWRlcnMgb2YgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlXG4gKi9cbmZ1bmN0aW9uIGdldFJlcVJlc1Byb3ZpZGVycyhvcmlnaW46IHN0cmluZywgcmVxdWVzdDogc3RyaW5nKTogU3RhdGljUHJvdmlkZXJbXSB7XG4gIGNvbnN0IHByb3ZpZGVyczogU3RhdGljUHJvdmlkZXJbXSA9IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBPUklHSU5fVVJMLFxuICAgICAgdXNlVmFsdWU6IG9yaWdpblxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogUkVRVUVTVCxcbiAgICAgIHVzZVZhbHVlOiByZXF1ZXN0XG4gICAgfVxuICBdO1xuXG4gIHJldHVybiBwcm92aWRlcnM7XG59XG5cbi8qIEBpbnRlcm5hbCAqL1xuY29uc3QgZmFjdG9yeUNhY2hlTWFwID0gbmV3IE1hcDxUeXBlPHt9PiwgTmdNb2R1bGVGYWN0b3J5PHt9Pj4oKTtcbmFzeW5jIGZ1bmN0aW9uIGdldEZhY3RvcnkoXG4gIG1vZHVsZU9yRmFjdG9yeTogVHlwZTx7fT4gfCBOZ01vZHVsZUZhY3Rvcnk8e30+LCBjb21waWxlcjogQ29tcGlsZXJcbik6IFByb21pc2U8TmdNb2R1bGVGYWN0b3J5PHt9Pj4ge1xuICAvLyBJZiBtb2R1bGUgaGFzIGJlZW4gY29tcGlsZWQgQW9UXG4gIGlmIChtb2R1bGVPckZhY3RvcnkgaW5zdGFuY2VvZiBOZ01vZHVsZUZhY3RvcnkpIHtcbiAgICByZXR1cm4gbW9kdWxlT3JGYWN0b3J5O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG1vZHVsZUZhY3RvcnkgPSBmYWN0b3J5Q2FjaGVNYXAuZ2V0KG1vZHVsZU9yRmFjdG9yeSk7XG4gICAgLy8gSWYgbW9kdWxlIGZhY3RvcnkgaXMgY2FjaGVkXG4gICAgaWYgKG1vZHVsZUZhY3RvcnkpIHtcbiAgICAgIHJldHVybiBtb2R1bGVGYWN0b3J5O1xuICAgIH1cblxuICAgIC8vIENvbXBpbGUgdGhlIG1vZHVsZSBhbmQgY2FjaGUgaXRcbiAgICBjb25zdCBmYWN0b3J5ID0gYXdhaXQgY29tcGlsZXIuY29tcGlsZU1vZHVsZUFzeW5jKG1vZHVsZU9yRmFjdG9yeSk7XG4gICAgZmFjdG9yeUNhY2hlTWFwLnNldChtb2R1bGVPckZhY3RvcnksIGZhY3RvcnkpO1xuXG4gICAgcmV0dXJuIGZhY3Rvcnk7XG4gIH1cbn1cbiJdfQ==

@@ -7,20 +7,6 @@ import { __awaiter } from 'tslib';

import { ORIGIN_URL, REQUEST } from '@nguniversal/aspnetcore-engine/tokens';
import { readFile } from 'fs';
import { ɵFileLoader } from '@nguniversal/common/engine';
import { ɵTRANSITION_ID } from '@angular/platform-browser';
import { first } from 'rxjs/operators';
/** ResourceLoader implementation for loading files */
class FileLoader {
get(url) {
return new Promise((resolve, reject) => {
readFile(url, (err, data) => {
if (err) {
return reject(err);
}
resolve(data.toString());
});
});
}
}
/**

@@ -102,37 +88,28 @@ * @license

/* @internal */
class UniversalData {
constructor() {
this.appNode = '';
this.title = '';
this.scripts = '';
this.styles = '';
this.meta = '';
this.links = '';
}
}
/* @internal */
let appSelector = 'app-root'; // default
/* @internal */
function _getUniversalData(doc) {
const STYLES = [];
const SCRIPTS = [];
const META = [];
const LINKS = [];
// tslint:disable-next-line: no-non-null-assertion
for (let i = 0; i < doc.head.children.length; i++) {
// tslint:disable-next-line: no-non-null-assertion
const element = doc.head.children[i];
const tagName = element.tagName.toUpperCase();
switch (tagName) {
const styles = [];
const scripts = [];
const meta = [];
const links = [];
// tslint:disable: no-non-null-assertion
const elements = [
...Array.from(doc.head.children),
...Array.from(doc.body.children),
];
// tslint:enable: no-non-null-assertion
for (const element of elements) {
switch (element.tagName.toUpperCase()) {
case 'SCRIPT':
SCRIPTS.push(element.outerHTML);
scripts.push(element.outerHTML);
break;
case 'STYLE':
STYLES.push(element.outerHTML);
styles.push(element.outerHTML);
break;
case 'LINK':
LINKS.push(element.outerHTML);
links.push(element.outerHTML);
break;
case 'META':
META.push(element.outerHTML);
meta.push(element.outerHTML);
break;

@@ -143,30 +120,12 @@ default:

}
for (let i = 0; i < doc.body.children.length; i++) {
const element = doc.body.children[i];
const tagName = element.tagName.toUpperCase();
switch (tagName) {
case 'SCRIPT':
SCRIPTS.push(element.outerHTML);
break;
case 'STYLE':
STYLES.push(element.outerHTML);
break;
case 'LINK':
LINKS.push(element.outerHTML);
break;
case 'META':
META.push(element.outerHTML);
break;
default:
break;
}
}
return {
title: doc.title,
// tslint:disable-next-line: no-non-null-assertion
appNode: doc.querySelector(appSelector).outerHTML,
scripts: SCRIPTS.join('\n'),
styles: STYLES.join('\n'),
meta: META.join('\n'),
links: LINKS.join('\n')
html: doc.querySelector(appSelector).outerHTML,
globals: {
title: doc.title,
scripts: scripts.join('\n'),
styles: styles.join('\n'),
meta: meta.join('\n'),
links: links.join('\n')
}
};

@@ -187,3 +146,3 @@ }

providers: [
{ provide: ResourceLoader, useClass: FileLoader, deps: [] }
{ provide: ResourceLoader, useClass: ɵFileLoader, deps: [] }
]

@@ -207,14 +166,3 @@ }

const doc = result.moduleRef.injector.get(DOCUMENT);
const universalData = _getUniversalData(doc);
return {
html: universalData.appNode,
moduleRef: result.moduleRef,
globals: {
styles: universalData.styles,
title: universalData.title,
scripts: universalData.scripts,
meta: universalData.meta,
links: universalData.links
}
};
return Object.assign({ moduleRef: result.moduleRef }, _getUniversalData(doc));
});

@@ -221,0 +169,0 @@ }

{
"name": "@nguniversal/aspnetcore-engine",
"version": "11.0.0-next.1",
"version": "11.0.0-next.2",
"description": "ASP.NET Core Engine for running Server Angular Apps",

@@ -26,4 +26,5 @@ "author": {

"peerDependencies": {
"@angular/common": "^11.0.0-next.3",
"@angular/core": "^11.0.0-next.3",
"@angular/common": "^11.0.0-rc.2",
"@angular/core": "^11.0.0-rc.2",
"@nguniversal/common": "11.0.0-next.2",
"rxjs": "^6.5.5"

@@ -30,0 +31,0 @@ },

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc