-
- Search by token
-
- close
-
-
- Search by type
-
- None
- @for (type of providerTypes; track type) {
- {{$any(providerTypeToLabel)[type]}}
- }
-
-
- @if (providers.length > 0) {
-
-
- Token |
- {{provider.token}} |
-
-
- Type |
-
- @if (provider.type === 'multi') {
- multi (x{{ provider.index.length }})
- } @else {
- {{$any(providerTypeToLabel)[provider.type]}}
- }
- |
-
-
- Is View Provider |
- {{provider.isViewProvider ? 'check_circle' : 'cancel'}} |
-
-
- |
- send |
-
-
-
-
+
Providers for {{ injector?.name }}
+ @if (injector) {
+
+
+ Search by token
+
+ close
+
+
+ Search by type
+
+ None
+ @for (type of providerTypes; track type) {
+ {{ $any(providerTypeToLabel)[type] }}
+ }
+
+
+ @if (providers.length > 0) {
+
+
+ Token |
+ {{ provider.token }} |
+
+
+ Type |
+
+ @if (provider.type === 'multi') { multi (x{{ provider.index.length }}) } @else {
+ {{ $any(providerTypeToLabel)[provider.type] }}
}
-
- }
- `,
- styles: [`
- .select {
- cursor: pointer;
- }
+ |
+
+
+ Is View Provider |
+
+ {{ provider.isViewProvider ? 'check_circle' : 'cancel' }}
+ |
+
+
+ |
+
+ send
+ |
+
+
+
+
+ }
+
+ }
+ `,
+ styles: [
+ `
+ .select {
+ cursor: pointer;
+ }
- :host {
- display: block;
- padding: 16px;
- }
+ :host {
+ display: block;
+ padding: 16px;
+ }
- .form-field-spacer {
- margin: 0 4px 0 4px;
- }
+ .form-field-spacer {
+ margin: 0 4px 0 4px;
+ }
- table {
- width: 100%;
- }
+ table {
+ width: 100%;
+ }
- .column-title {
- margin: 0;
- }
+ .column-title {
+ margin: 0;
+ }
- tr.example-detail-row {
- height: 0;
- }
+ tr.example-detail-row {
+ height: 0;
+ }
- .example-element-row td {
- border-bottom-width: 0;
- cursor: pointer;
- }
+ .example-element-row td {
+ border-bottom-width: 0;
+ cursor: pointer;
+ }
- .example-element-detail {
- overflow: hidden;
- display: flex;
- }
+ .example-element-detail {
+ overflow: hidden;
+ display: flex;
+ }
- .example-element-diagram {
- min-width: 80px;
- border: 2px solid black;
- padding: 8px;
- font-weight: lighter;
- margin: 8px 0;
- height: 104px;
- }
+ .example-element-diagram {
+ min-width: 80px;
+ border: 2px solid black;
+ padding: 8px;
+ font-weight: lighter;
+ margin: 8px 0;
+ height: 104px;
+ }
- .example-element-symbol {
- font-weight: bold;
- font-size: 40px;
- line-height: normal;
- }
+ .example-element-symbol {
+ font-weight: bold;
+ font-size: 40px;
+ line-height: normal;
+ }
- .example-element-description {
- padding: 16px;
- }
+ .example-element-description {
+ padding: 16px;
+ }
- .example-element-description-attribution {
- opacity: 0.5;
- }
- `],
+ .example-element-description-attribution {
+ opacity: 0.5;
+ }
+ `,
+ ],
standalone: true,
imports: [
- MatTableModule, MatIconModule, MatTooltipModule, MatInputModule, MatSelectModule,
- MatFormFieldModule
+ MatTableModule,
+ MatIconModule,
+ MatTooltipModule,
+ MatInputModule,
+ MatSelectModule,
+ MatFormFieldModule,
],
})
export class InjectorProvidersComponent {
@@ -152,11 +163,12 @@ export class InjectorProvidersComponent {
const predicates: ((provider: SerializedProviderRecord) => boolean)[] = [];
searchToken &&
- predicates.push((provider) => provider.token.toLowerCase().includes(searchToken));
+ predicates.push((provider) => provider.token.toLowerCase().includes(searchToken));
searchType && predicates.push((provider) => provider.type === searchType);
- return this.providers.filter(
- (provider) => predicates.every((predicate) => predicate(provider)));
+ return this.providers.filter((provider) =>
+ predicates.every((predicate) => predicate(provider)),
+ );
});
providerTypeToLabel = {
@@ -178,7 +190,7 @@ export class InjectorProvidersComponent {
type: this.injector.type,
name: this.injector.name,
},
- row
+ row,
]);
}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-tree-fns.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-tree-fns.spec.ts
index 9d5783c0a9e..cac3a7a1755 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-tree-fns.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-tree-fns.spec.ts
@@ -6,9 +6,20 @@
* found in the LICENSE file at https://angular.io/license
*/
-import {InjectorTreeD3Node, InjectorTreeNode} from '../dependency-injection/injector-tree-visualizer';
+import {
+ InjectorTreeD3Node,
+ InjectorTreeNode,
+} from '../dependency-injection/injector-tree-visualizer';
-import {equalInjector, generateEdgeIdsFromNodeIds, getInjectorIdsToRootFromNode, grabInjectorPathsFromDirectiveForest, InjectorPath, splitInjectorPathsIntoElementAndEnvironmentPaths, transformInjectorResolutionPathsIntoTree} from './injector-tree-fns';
+import {
+ equalInjector,
+ generateEdgeIdsFromNodeIds,
+ getInjectorIdsToRootFromNode,
+ grabInjectorPathsFromDirectiveForest,
+ InjectorPath,
+ splitInjectorPathsIntoElementAndEnvironmentPaths,
+ transformInjectorResolutionPathsIntoTree,
+} from './injector-tree-fns';
describe('getInjectorIdsToRootFromNode', () => {
it('should be able to get ids from a node', () => {
@@ -109,8 +120,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-demo-component',
@@ -130,8 +141,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo-demo',
@@ -154,8 +165,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -173,8 +184,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'router-outlet',
@@ -192,8 +203,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todos',
@@ -219,8 +230,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -241,8 +252,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -263,37 +274,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -309,37 +322,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -355,8 +370,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': '#comment',
@@ -377,9 +392,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
@@ -394,9 +409,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
@@ -408,8 +423,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-heavy',
@@ -424,9 +439,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
@@ -435,18 +450,18 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
- 'path': [{'id': '1', 'type': 'element', 'name': '_AppComponent'}]
+ 'path': [{'id': '1', 'type': 'element', 'name': '_AppComponent'}],
},
{
'node': {
@@ -459,10 +474,10 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
- 'path': [{'id': '1', 'type': 'element', 'name': '_AppComponent'}]
+ 'path': [{'id': '1', 'type': 'element', 'name': '_AppComponent'}],
},
{
'node': {
@@ -483,8 +498,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo-demo',
@@ -507,8 +522,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -526,8 +541,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'router-outlet',
@@ -545,8 +560,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todos',
@@ -572,8 +587,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -594,8 +609,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -616,37 +631,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -662,37 +679,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -708,8 +727,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': '#comment',
@@ -730,9 +749,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
@@ -747,9 +766,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
@@ -761,8 +780,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-heavy',
@@ -777,9 +796,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
@@ -788,13 +807,13 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'}
- ]
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ ],
},
{
'node': {
@@ -810,13 +829,13 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'}
- ]
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ ],
},
{
'node': {
@@ -840,8 +859,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -859,8 +878,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'router-outlet',
@@ -878,8 +897,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todos',
@@ -905,8 +924,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -927,8 +946,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -949,37 +968,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -995,37 +1016,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -1041,8 +1064,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': '#comment',
@@ -1063,9 +1086,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
@@ -1080,9 +1103,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
@@ -1094,14 +1117,14 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
},
{
'node': {
@@ -1120,14 +1143,14 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
},
{
'node': {
@@ -1146,14 +1169,14 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
},
{
'node': {
@@ -1172,14 +1195,14 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
},
{
'node': {
@@ -1206,8 +1229,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -1228,8 +1251,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -1250,37 +1273,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -1296,37 +1321,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -1342,8 +1369,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': '#comment',
@@ -1364,9 +1391,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
@@ -1381,15 +1408,15 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
},
{
'node': {
@@ -1411,15 +1438,15 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
},
{
'node': {
@@ -1441,15 +1468,15 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
},
{
'node': {
@@ -1471,45 +1498,47 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
},
{
'node': {
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -1525,16 +1554,16 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'}
- ]
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ ],
},
{
'node': {
@@ -1558,8 +1587,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
@@ -1567,38 +1596,40 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'}
- ]
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ ],
},
{
'node': {
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -1614,16 +1645,16 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'}
- ]
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ ],
},
{
'node': {
@@ -1647,8 +1678,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
@@ -1656,8 +1687,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'}
- ]
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ ],
},
{
'node': {
@@ -1679,15 +1710,15 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
},
{
'node': {
@@ -1703,201 +1734,1621 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'}
- ]
- }
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ ],
+ },
];
const expected: InjectorTreeNode = {
'injector': {'name': '', 'type': 'hidden', 'id': 'N/A'},
- 'children': [{
- 'injector': {
- 'id': '1',
- 'type': 'element',
- 'name': '_AppComponent',
- 'node': {
- 'element': 'app-root',
- 'component': {'name': 'app-root', 'isElement': false, 'id': 0},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 1}],
- 'children': [],
- 'resolutionPath': [
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ 'children': [
+ {
+ 'injector': {
+ 'id': '1',
+ 'type': 'element',
+ 'name': '_AppComponent',
+ 'node': {
+ 'element': 'app-root',
+ 'component': {'name': 'app-root', 'isElement': false, 'id': 0},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 1}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-demo-component',
+ 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 3}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo-demo',
+ 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-heavy',
+ 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ },
+ 'children': [
+ {
+ 'injector': {
+ 'id': '6',
+ 'type': 'element',
+ 'name': '_DemoAppComponent',
+ 'node': {
+ 'element': 'app-demo-component',
+ 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 3}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo-demo',
+ 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-heavy',
+ 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
},
- {
- 'element': 'app-demo-component',
- 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 3}],
- 'children': [],
- 'resolutionPath': [
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ 'children': [
+ {
+ 'injector': {
+ 'id': '9',
+ 'type': 'element',
+ 'name': '_AppTodoComponent',
+ 'node': {
+ 'element': 'app-todo-demo',
+ 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
},
- {
- 'element': 'app-todo-demo',
- 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ 'children': [
+ {
+ 'injector': {
+ 'id': '14',
+ 'type': 'element',
+ 'name': '_TodosComponent',
+ 'node': {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
},
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ 'children': [
+ {
+ 'injector': {
+ 'id': '19',
+ 'type': 'element',
+ 'name': '_TodoComponent',
+ 'node': {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
},
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ 'children': [
+ {
+ 'injector': {
+ 'id': '18',
+ 'type': 'element',
+ 'name': '_TooltipDirective',
+ 'node': {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ },
+ 'children': [],
+ },
+ ],
+ },
+ {
+ 'injector': {
+ 'id': '22',
+ 'type': 'element',
+ 'name': '_TodoComponent',
+ 'node': {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
},
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
+ 'children': [
+ {
+ 'injector': {
+ 'id': '21',
+ 'type': 'element',
+ 'name': '_TooltipDirective',
+ 'node': {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ },
+ 'children': [],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ {
+ 'injector': {
+ 'id': '24',
+ 'type': 'element',
+ 'name': '_HeavyComponent',
+ 'node': {
+ 'element': 'app-heavy',
+ 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ },
+ 'children': [],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ };
+
+ expect(transformInjectorResolutionPathsIntoTree(injectorPaths)).toEqual(expected);
+ });
+});
+
+describe('splitInjectorPathsIntoElementAndEnvironmentPaths', () => {
+ it("should be able to split injector paths into element and environment paths, and expose the mapping from each element to it's environment path", () => {
+ const injectorPaths = [
+ {
+ 'node': {
+ 'element': 'app-root',
+ 'component': {'name': 'app-root', 'isElement': false, 'id': 0},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 1}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-demo-component',
+ 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 3}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo-demo',
+ 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
'element': 'div',
'component': null,
'directives': [{'name': '_TooltipDirective', 'id': 14}],
@@ -1918,32 +3369,34 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
'element': 'div',
'component': null,
'directives': [{'name': '_TooltipDirective', 'id': 17}],
@@ -1964,122 +3417,1527 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-heavy',
- 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-zippy',
+ 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-heavy',
+ 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
- 'children': [{
- 'injector': {
- 'id': '6',
- 'type': 'element',
- 'name': '_DemoAppComponent',
- 'node': {
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 1}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-demo-component',
+ 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 3}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo-demo',
+ 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-zippy',
+ 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-heavy',
+ 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 3}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-todo-demo',
+ 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-zippy',
+ 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-heavy',
+ 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ ],
+ },
+ ];
+
+ const expectedElementPaths = [
+ {
+ 'node': {
+ 'element': 'app-root',
+ 'component': {'name': 'app-root', 'isElement': false, 'id': 0},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 1}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
'element': 'app-demo-component',
'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
'directives': [],
@@ -2097,8 +4955,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo-demo',
@@ -2121,8 +4979,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -2140,8 +4998,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'router-outlet',
@@ -2159,8 +5017,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todos',
@@ -2186,8 +5044,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -2208,8 +5066,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -2230,37 +5088,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -2276,37 +5136,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -2322,8 +5184,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': '#comment',
@@ -2344,9 +5206,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
@@ -2361,9 +5223,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
@@ -2375,8 +5237,21 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-zippy',
+ 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-heavy',
@@ -2391,9 +5266,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
@@ -2402,17 +5277,1372 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- },
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [{'id': '1', 'type': 'element', 'name': '_AppComponent'}],
+ },
+ {
+ 'node': {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 1}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [{'id': '1', 'type': 'element', 'name': '_AppComponent'}],
+ },
+ {
+ 'node': {
+ 'element': 'app-demo-component',
+ 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
+ 'directives': [],
'children': [
{
- 'injector': {
- 'id': '9',
- 'type': 'element',
- 'name': '_AppTodoComponent',
- 'node': {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 3}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo-demo',
+ 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-zippy',
+ 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-heavy',
+ 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 3}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-todo-demo',
+ 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-zippy',
+ 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [{'id': '23', 'type': 'element', 'name': '_ZippyComponent'}],
+ },
+ {
+ 'node': {
+ 'element': 'app-heavy',
+ 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ ],
+ },
+ ];
+
+ const expectedEnvironmentPaths = [
+ {
+ 'node': {
+ 'element': 'app-root',
+ 'component': {'name': 'app-root', 'isElement': false, 'id': 0},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 1}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-demo-component',
+ 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 3}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
'element': 'app-todo-demo',
'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
'directives': [],
@@ -2433,8 +6663,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -2452,8 +6682,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'router-outlet',
@@ -2471,8 +6701,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todos',
@@ -2498,8 +6728,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -2520,8 +6750,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -2542,37 +6772,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -2588,37 +6820,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -2634,8 +6868,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': '#comment',
@@ -2656,9 +6890,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
@@ -2673,9 +6907,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
@@ -2687,16 +6921,1558 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-zippy',
+ 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-heavy',
+ 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [{'id': '2', 'type': 'environment', 'name': '_AppModule'}],
+ },
+ {
+ 'node': {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 1}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [{'id': '2', 'type': 'environment', 'name': '_AppModule'}],
+ },
+ {
+ 'node': {
+ 'element': 'app-demo-component',
+ 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 3}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo-demo',
+ 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-zippy',
+ 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-heavy',
+ 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 3}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-todo-demo',
+ 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-todos',
+ 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 9}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 10}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 11}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
+ 'directives': [{'name': '_TooltipDirective', 'id': 13}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-todo',
+ 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
+ 'directives': [{'name': '_TooltipDirective', 'id': 16}],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': '#comment',
+ 'component': null,
+ 'directives': [{'name': '_NgForOf', 'id': 18}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-zippy',
+ 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ ],
+ },
+ {
+ 'node': {
+ 'element': 'app-heavy',
+ 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ 'path': [
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ ],
+ },
+ ];
+
+ const expectedStartingElementToEnvironmentPath = new Map([
+ ['1', [{'id': '2', 'type': 'environment', 'name': '_AppModule'}]],
+ [
+ '6',
+ [
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ ],
+ [
+ '9',
+ [
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ ],
+ [
+ '14',
+ [
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ ],
+ [
+ '19',
+ [
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ ],
+ [
+ '18',
+ [
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ ],
+ [
+ '22',
+ [
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ ],
+ [
+ '21',
+ [
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ ],
+ [
+ '23',
+ [
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ ],
+ [
+ '24',
+ [
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ ],
+ ],
+ ]);
+
+ const {elementPaths, environmentPaths, startingElementToEnvironmentPath} =
+ splitInjectorPathsIntoElementAndEnvironmentPaths(injectorPaths);
+
+ expect(elementPaths).toEqual(expectedElementPaths);
+ expect(environmentPaths).toEqual(expectedEnvironmentPaths);
+ expect(startingElementToEnvironmentPath).toEqual(expectedStartingElementToEnvironmentPath);
+ });
+});
+
+describe('grabInjectorPathsFromDirectiveForest', () => {
+ it('should be able to get a list of injector paths from a directive forest', () => {
+ const directiveForest = [
+ {
+ 'element': 'app-root',
+ 'component': {'name': 'app-root', 'isElement': false, 'id': 0},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 1}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-demo-component',
+ 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 3}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
- 'children': [{
- 'injector': {
- 'id': '14',
- 'type': 'element',
- 'name': '_TodosComponent',
- 'node': {
+ {
+ 'element': 'app-todo-demo',
+ 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
+ 'directives': [],
+ 'children': [
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 5}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'a',
+ 'component': null,
+ 'directives': [{'name': '_RouterLink', 'id': 6}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'router-outlet',
+ 'component': null,
+ 'directives': [{'name': '_RouterOutlet', 'id': 7}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
'element': 'app-todos',
'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
'directives': [],
@@ -2720,8 +8496,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -2742,8 +8518,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -2764,37 +8540,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -2810,37 +8588,39 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -2856,8 +8636,8 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': '#comment',
@@ -2878,9 +8658,9 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
@@ -2895,5726 +8675,72 @@ describe('transformInjectorResolutionPathsIntoTree', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- },
- 'children': [
- {
- 'injector': {
- 'id': '19',
- 'type': 'element',
- 'name': '_TodoComponent',
- 'node': {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- },
- 'children': [{
- 'injector': {
- 'id': '18',
- 'type': 'element',
- 'name': '_TooltipDirective',
- 'node': {
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- },
- 'children': []
- }]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
- {
- 'injector': {
- 'id': '22',
- 'type': 'element',
- 'name': '_TodoComponent',
- 'node': {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- },
- 'children': [{
- 'injector': {
- 'id': '21',
- 'type': 'element',
- 'name': '_TooltipDirective',
- 'node': {
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- },
- 'children': []
- }]
- }
- ]
- }]
- },
- {
- 'injector': {
- 'id': '24',
- 'type': 'element',
- 'name': '_HeavyComponent',
- 'node': {
- 'element': 'app-heavy',
- 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ ],
+ 'resolutionPath': [
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
- 'children': []
- }
- ]
- }]
- }]
- };
-
- expect(transformInjectorResolutionPathsIntoTree(injectorPaths)).toEqual(expected);
- });
-});
-
-describe('splitInjectorPathsIntoElementAndEnvironmentPaths', () => {
- it('should be able to split injector paths into element and environment paths, and expose the mapping from each element to it\'s environment path',
- () => {
- const injectorPaths = [
- {
- 'node': {
- 'element': 'app-root',
- 'component': {'name': 'app-root', 'isElement': false, 'id': 0},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 1}],
- 'children': [],
- 'resolutionPath': [
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-demo-component',
- 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 3}],
- 'children': [],
- 'resolutionPath': [
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo-demo',
- 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-zippy',
- 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-heavy',
- 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 1}],
- 'children': [],
- 'resolutionPath': [
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'app-demo-component',
- 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 3}],
- 'children': [],
- 'resolutionPath': [
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo-demo',
- 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-zippy',
- 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-heavy',
- 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 3}],
- 'children': [],
- 'resolutionPath': [
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'app-todo-demo',
- 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'}
- ]
- },
- {
- 'node': {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'}
- ]
- },
- {
- 'node': {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'app-zippy',
- 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '23', 'type': 'element', 'name': '_ZippyComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'app-heavy',
- 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'}
- ]
- }
- ];
-
- const expectedElementPaths = [
- {
- 'node': {
- 'element': 'app-root',
- 'component': {'name': 'app-root', 'isElement': false, 'id': 0},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 1}],
- 'children': [],
- 'resolutionPath': [
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-demo-component',
- 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 3}],
- 'children': [],
- 'resolutionPath': [
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo-demo',
- 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-zippy',
- 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-heavy',
- 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [{'id': '1', 'type': 'element', 'name': '_AppComponent'}]
- },
- {
- 'node': {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 1}],
- 'children': [],
- 'resolutionPath': [
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [{'id': '1', 'type': 'element', 'name': '_AppComponent'}]
- },
- {
- 'node': {
- 'element': 'app-demo-component',
- 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 3}],
- 'children': [],
- 'resolutionPath': [
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo-demo',
- 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-zippy',
- 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-heavy',
- 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 3}],
- 'children': [],
- 'resolutionPath': [
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'app-todo-demo',
- 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'}
- ]
- },
- {
- 'node': {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'}
- ]
- },
- {
- 'node': {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
- },
- {
- 'node': {
- 'element': 'app-zippy',
- 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [{'id': '23', 'type': 'element', 'name': '_ZippyComponent'}]
- },
- {
- 'node': {
- 'element': 'app-heavy',
- 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'}
- ]
- }
- ];
-
- const expectedEnvironmentPaths = [
- {
- 'node': {
- 'element': 'app-root',
- 'component': {'name': 'app-root', 'isElement': false, 'id': 0},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 1}],
- 'children': [],
- 'resolutionPath': [
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-demo-component',
- 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 3}],
- 'children': [],
- 'resolutionPath': [
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo-demo',
- 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-zippy',
- 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-heavy',
- 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [{'id': '2', 'type': 'environment', 'name': '_AppModule'}]
- },
- {
- 'node': {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 1}],
- 'children': [],
- 'resolutionPath': [
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [{'id': '2', 'type': 'environment', 'name': '_AppModule'}]
- },
- {
- 'node': {
- 'element': 'app-demo-component',
- 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 3}],
- 'children': [],
- 'resolutionPath': [
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo-demo',
- 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-zippy',
- 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-heavy',
- 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'}
- ]
- },
- {
- 'node': {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 3}],
- 'children': [],
- 'resolutionPath': [
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'}
- ]
- },
- {
- 'node': {
- 'element': 'app-todo-demo',
- 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'}
- ]
- },
- {
- 'node': {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'}
- ]
- },
- {
- 'node': {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'}
- ]
- },
- {
- 'node': {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'}
- ]
- },
- {
- 'node': {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'}
- ]
- },
- {
- 'node': {
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'}
- ]
- },
- {
- 'node': {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'}
- ]
- },
- {
- 'node': {
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'}
- ]
- },
- {
- 'node': {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'}
- ]
- },
- {
- 'node': {
- 'element': 'app-zippy',
- 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'}
- ]
- },
- {
- 'node': {
- 'element': 'app-heavy',
- 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- 'path': [
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'}
- ]
- }
- ];
-
- const expectedStartingElementToEnvironmentPath = new Map([
- ['1', [{'id': '2', 'type': 'environment', 'name': '_AppModule'}]],
- [
- '6',
- [
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'}
- ]
- ],
- [
- '9',
- [
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'}
- ]
- ],
- [
- '14',
- [
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'}
- ]
- ],
- [
- '19',
- [
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'}
- ]
- ],
- [
- '18',
- [
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'}
- ]
- ],
- [
- '22',
- [
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'}
- ]
- ],
- [
- '21',
- [
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'}
- ]
- ],
- [
- '23',
- [
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'}
- ]
- ],
- [
- '24',
- [
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'}
- ]
- ]
- ]);
-
- const {elementPaths, environmentPaths, startingElementToEnvironmentPath} =
- splitInjectorPathsIntoElementAndEnvironmentPaths(injectorPaths);
-
- expect(elementPaths).toEqual(expectedElementPaths);
- expect(environmentPaths).toEqual(expectedEnvironmentPaths);
- expect(startingElementToEnvironmentPath).toEqual(expectedStartingElementToEnvironmentPath);
- });
-});
-
-describe('grabInjectorPathsFromDirectiveForest', () => {
- it('should be able to get a list of injector paths from a directive forest', () => {
- const directiveForest = [{
- 'element': 'app-root',
- 'component': {'name': 'app-root', 'isElement': false, 'id': 0},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 1}],
- 'children': [],
- 'resolutionPath': [
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-demo-component',
- 'component': {'name': 'app-demo-component', 'isElement': false, 'id': 2},
- 'directives': [],
- 'children': [
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 3}],
- 'children': [],
- 'resolutionPath': [
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo-demo',
- 'component': {'name': 'app-todo-demo', 'isElement': false, 'id': 4},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 5}],
- 'children': [],
- 'resolutionPath': [
- {'id': '8', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 6}],
- 'children': [],
- 'resolutionPath': [
- {'id': '11', 'type': 'element', 'name': '_RouterLink'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'router-outlet',
- 'component': null,
- 'directives': [{'name': '_RouterOutlet', 'id': 7}],
- 'children': [],
- 'resolutionPath': [
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todos',
- 'component': {'name': 'app-todos', 'isElement': false, 'id': 8},
- 'directives': [],
- 'children': [
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 9}],
- 'children': [],
- 'resolutionPath': [
- {'id': '13', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 10}],
- 'children': [],
- 'resolutionPath': [
- {'id': '16', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'a',
- 'component': null,
- 'directives': [{'name': '_RouterLink', 'id': 11}],
- 'children': [],
- 'resolutionPath': [
- {'id': '17', 'type': 'element', 'name': '_RouterLink'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
- 'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-todo',
- 'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
- 'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
- 'resolutionPath': [
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': '#comment',
- 'component': null,
- 'directives': [{'name': '_NgForOf', 'id': 18}],
- 'children': [],
- 'resolutionPath': [
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-zippy',
- 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- },
- {
- 'element': 'app-heavy',
- 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
- 'directives': [],
- 'children': [],
- 'resolutionPath': [
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
- ],
- 'resolutionPath': [
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }];
+ {
+ 'element': 'app-zippy',
+ 'component': {'name': 'app-zippy', 'isElement': true, 'id': 19},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ {
+ 'element': 'app-heavy',
+ 'component': {'name': 'app-heavy', 'isElement': false, 'id': 20},
+ 'directives': [],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
+ 'resolutionPath': [
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ];
const expectedInjectorPaths = [
{
@@ -8633,8 +8759,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-demo-component',
@@ -8654,8 +8780,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo-demo',
@@ -8678,8 +8804,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -8697,8 +8823,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'router-outlet',
@@ -8716,8 +8842,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todos',
@@ -8743,8 +8869,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -8765,8 +8891,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -8787,37 +8913,39 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -8833,37 +8961,39 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -8879,8 +9009,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': '#comment',
@@ -8901,9 +9031,9 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
@@ -8918,9 +9048,9 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
@@ -8932,8 +9062,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-zippy',
@@ -8945,8 +9075,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-heavy',
@@ -8961,9 +9091,9 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
@@ -8972,23 +9102,23 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'}
- ]
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ ],
},
{
'node': {
@@ -9001,16 +9131,16 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'}
- ]
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ ],
},
{
'node': {
@@ -9031,8 +9161,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo-demo',
@@ -9055,8 +9185,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -9074,8 +9204,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'router-outlet',
@@ -9093,8 +9223,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todos',
@@ -9120,8 +9250,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -9142,8 +9272,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -9164,37 +9294,39 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -9210,37 +9342,39 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -9256,8 +9390,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': '#comment',
@@ -9278,9 +9412,9 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
@@ -9295,9 +9429,9 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
@@ -9309,8 +9443,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-zippy',
@@ -9322,8 +9456,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-heavy',
@@ -9338,9 +9472,9 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
@@ -9349,8 +9483,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -9359,8 +9493,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'}
- ]
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ ],
},
{
'node': {
@@ -9376,8 +9510,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -9387,8 +9521,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'}
- ]
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ ],
},
{
'node': {
@@ -9412,8 +9546,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -9431,8 +9565,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'router-outlet',
@@ -9450,8 +9584,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todos',
@@ -9477,8 +9611,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -9499,8 +9633,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -9521,37 +9655,39 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -9567,37 +9703,39 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -9613,8 +9751,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': '#comment',
@@ -9635,9 +9773,9 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
@@ -9652,9 +9790,9 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
@@ -9666,8 +9804,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -9679,8 +9817,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
{'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'}
- ]
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ ],
},
{
'node': {
@@ -9699,8 +9837,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -9713,8 +9851,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
{'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '8', 'type': 'element', 'name': '_RouterLink'}
- ]
+ {'id': '8', 'type': 'element', 'name': '_RouterLink'},
+ ],
},
{
'node': {
@@ -9733,8 +9871,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -9747,8 +9885,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
{'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '11', 'type': 'element', 'name': '_RouterLink'}
- ]
+ {'id': '11', 'type': 'element', 'name': '_RouterLink'},
+ ],
},
{
'node': {
@@ -9767,8 +9905,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -9781,8 +9919,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
{'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'}
- ]
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ ],
},
{
'node': {
@@ -9809,8 +9947,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -9831,8 +9969,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'a',
@@ -9853,37 +9991,39 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -9899,37 +10039,39 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -9945,8 +10087,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
{
'element': '#comment',
@@ -9967,9 +10109,9 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
],
'resolutionPath': [
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
@@ -9984,8 +10126,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -10000,8 +10142,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
{'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'}
- ]
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ ],
},
{
'node': {
@@ -10023,8 +10165,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -10040,8 +10182,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
{'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '13', 'type': 'element', 'name': '_RouterLink'}
- ]
+ {'id': '13', 'type': 'element', 'name': '_RouterLink'},
+ ],
},
{
'node': {
@@ -10063,8 +10205,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -10080,8 +10222,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
{'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '16', 'type': 'element', 'name': '_RouterLink'}
- ]
+ {'id': '16', 'type': 'element', 'name': '_RouterLink'},
+ ],
},
{
'node': {
@@ -10103,8 +10245,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -10120,38 +10262,40 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
{'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '17', 'type': 'element', 'name': '_RouterLink'}
- ]
+ {'id': '17', 'type': 'element', 'name': '_RouterLink'},
+ ],
},
{
'node': {
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 12},
'directives': [{'name': '_TooltipDirective', 'id': 13}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 14}],
- 'children': [],
- 'resolutionPath': [
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 14}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -10167,8 +10311,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -10185,8 +10329,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '19', 'type': 'element', 'name': '_TodoComponent'}
- ]
+ {'id': '19', 'type': 'element', 'name': '_TodoComponent'},
+ ],
},
{
'node': {
@@ -10210,8 +10354,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -10229,38 +10373,40 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
{'id': '19', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '18', 'type': 'element', 'name': '_TooltipDirective'}
- ]
+ {'id': '18', 'type': 'element', 'name': '_TooltipDirective'},
+ ],
},
{
'node': {
'element': 'app-todo',
'component': {'name': 'app-todo', 'isElement': false, 'id': 15},
'directives': [{'name': '_TooltipDirective', 'id': 16}],
- 'children': [{
- 'element': 'div',
- 'component': null,
- 'directives': [{'name': '_TooltipDirective', 'id': 17}],
- 'children': [],
- 'resolutionPath': [
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
- {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
- {'id': '1', 'type': 'element', 'name': '_AppComponent'},
- {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
- {'id': '10', 'type': 'environment', 'name': '_AppModule'},
- {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '2', 'type': 'environment', 'name': '_AppModule'},
- {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
- }],
+ 'children': [
+ {
+ 'element': 'div',
+ 'component': null,
+ 'directives': [{'name': '_TooltipDirective', 'id': 17}],
+ 'children': [],
+ 'resolutionPath': [
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ {'id': '14', 'type': 'element', 'name': '_TodosComponent'},
+ {'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
+ {'id': '5', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
+ {'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
+ {'id': '1', 'type': 'element', 'name': '_AppComponent'},
+ {'id': '15', 'type': 'environment', 'name': '_HomeModule'},
+ {'id': '10', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
+ {'id': '2', 'type': 'environment', 'name': '_AppModule'},
+ {'id': '3', 'type': 'environment', 'name': 'Platform: core'},
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
+ },
+ ],
'resolutionPath': [
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
@@ -10276,8 +10422,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -10294,8 +10440,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
- {'id': '22', 'type': 'element', 'name': '_TodoComponent'}
- ]
+ {'id': '22', 'type': 'element', 'name': '_TodoComponent'},
+ ],
},
{
'node': {
@@ -10319,8 +10465,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -10338,8 +10484,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
{'id': '20', 'type': 'element', 'name': '_NgForOf'},
{'id': '22', 'type': 'element', 'name': '_TodoComponent'},
- {'id': '21', 'type': 'element', 'name': '_TooltipDirective'}
- ]
+ {'id': '21', 'type': 'element', 'name': '_TooltipDirective'},
+ ],
},
{
'node': {
@@ -10361,8 +10507,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -10378,8 +10524,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '9', 'type': 'element', 'name': '_AppTodoComponent'},
{'id': '12', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '14', 'type': 'element', 'name': '_TodosComponent'},
- {'id': '20', 'type': 'element', 'name': '_NgForOf'}
- ]
+ {'id': '20', 'type': 'element', 'name': '_NgForOf'},
+ ],
},
{
'node': {
@@ -10392,16 +10538,16 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
- {'id': '23', 'type': 'element', 'name': '_ZippyComponent'}
- ]
+ {'id': '23', 'type': 'element', 'name': '_ZippyComponent'},
+ ],
},
{
'node': {
@@ -10417,8 +10563,8 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '7', 'type': 'environment', 'name': '_DemoAppModule'},
{'id': '2', 'type': 'environment', 'name': '_AppModule'},
{'id': '3', 'type': 'environment', 'name': 'Platform: core'},
- {'id': '4', 'type': 'null', 'name': 'Null Injector'}
- ]
+ {'id': '4', 'type': 'null', 'name': 'Null Injector'},
+ ],
},
'path': [
{'id': '4', 'type': 'null', 'name': 'Null Injector'},
@@ -10428,9 +10574,9 @@ describe('grabInjectorPathsFromDirectiveForest', () => {
{'id': '1', 'type': 'element', 'name': '_AppComponent'},
{'id': '0', 'type': 'element', 'name': '_RouterOutlet'},
{'id': '6', 'type': 'element', 'name': '_DemoAppComponent'},
- {'id': '24', 'type': 'element', 'name': '_HeavyComponent'}
- ]
- }
+ {'id': '24', 'type': 'element', 'name': '_HeavyComponent'},
+ ],
+ },
];
expect(grabInjectorPathsFromDirectiveForest(directiveForest)).toEqual(expectedInjectorPaths);
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-tree-fns.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-tree-fns.ts
index 6ac1e695896..557057d405a 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-tree-fns.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-tree-fns.ts
@@ -8,7 +8,10 @@
import {DevToolsNode, SerializedInjector} from 'protocol';
-import {InjectorTreeD3Node, InjectorTreeNode} from '../dependency-injection/injector-tree-visualizer';
+import {
+ InjectorTreeD3Node,
+ InjectorTreeNode,
+} from '../dependency-injection/injector-tree-visualizer';
export interface InjectorPath {
node: DevToolsNode;
@@ -42,12 +45,15 @@ export function equalInjector(a: SerializedInjector, b: SerializedInjector): boo
}
export function findExistingPath(
- path: InjectorTreeNode[], value: SerializedInjector): InjectorTreeNode|null {
- return path.find(injector => equalInjector(injector.injector, value)) || null;
+ path: InjectorTreeNode[],
+ value: SerializedInjector,
+): InjectorTreeNode | null {
+ return path.find((injector) => equalInjector(injector.injector, value)) || null;
}
-export function transformInjectorResolutionPathsIntoTree(injectorPaths: InjectorPath[]):
- InjectorTreeNode {
+export function transformInjectorResolutionPathsIntoTree(
+ injectorPaths: InjectorPath[],
+): InjectorTreeNode {
const injectorTree: InjectorTreeNode[] = [];
const injectorIdToNode = new Map
();
@@ -83,8 +89,9 @@ export function transformInjectorResolutionPathsIntoTree(injectorPaths: Injector
return hiddenRoot as any;
}
-export function grabInjectorPathsFromDirectiveForest(directiveForest: DevToolsNode[]):
- InjectorPath[] {
+export function grabInjectorPathsFromDirectiveForest(
+ directiveForest: DevToolsNode[],
+): InjectorPath[] {
const injectorPaths: InjectorPath[] = [];
const grabInjectorPaths = (node: DevToolsNode) => {
@@ -92,7 +99,7 @@ export function grabInjectorPathsFromDirectiveForest(directiveForest: DevToolsNo
injectorPaths.push({node, path: node.resolutionPath.slice().reverse()});
}
- node.children.forEach(child => grabInjectorPaths(child));
+ node.children.forEach((child) => grabInjectorPaths(child));
};
for (const directive of directiveForest) {
@@ -103,7 +110,8 @@ export function grabInjectorPathsFromDirectiveForest(directiveForest: DevToolsNo
}
export function splitInjectorPathsIntoElementAndEnvironmentPaths(injectorPaths: InjectorPath[]): {
- elementPaths: InjectorPath[]; environmentPaths: InjectorPath[];
+ elementPaths: InjectorPath[];
+ environmentPaths: InjectorPath[];
startingElementToEnvironmentPath: Map;
} {
const elementPaths: InjectorPath[] = [];
@@ -111,7 +119,7 @@ export function splitInjectorPathsIntoElementAndEnvironmentPaths(injectorPaths:
const startingElementToEnvironmentPath = new Map();
injectorPaths.forEach(({node, path}) => {
- const firstElementIndex = path.findIndex(injector => injector.type === 'element');
+ const firstElementIndex = path.findIndex((injector) => injector.type === 'element');
// split the path into two paths,
// one for the element injector and one for the environment injector
@@ -131,15 +139,18 @@ export function splitInjectorPathsIntoElementAndEnvironmentPaths(injectorPaths:
if (elementPath[elementPath.length - 1]) {
// reverse each path to get the paths starting from the starting element
startingElementToEnvironmentPath.set(
- elementPath[elementPath.length - 1].id, environmentPath.slice().reverse());
+ elementPath[elementPath.length - 1].id,
+ environmentPath.slice().reverse(),
+ );
}
});
return {
- elementPaths:
- elementPaths.filter(({path}) => path.every(injector => injector.type === 'element')),
+ elementPaths: elementPaths.filter(({path}) =>
+ path.every((injector) => injector.type === 'element'),
+ ),
environmentPaths,
- startingElementToEnvironmentPath
+ startingElementToEnvironmentPath,
};
}
@@ -188,17 +199,20 @@ const ANGULAR_DIRECTIVES = [
'RouterLinkActive',
'RouterLinkWithHref',
'RouterOutlet',
- 'UpgradeComponent'
+ 'UpgradeComponent',
];
const ignoredAngularInjectors = new Set([
- 'Null Injector', ...ANGULAR_DIRECTIVES, ...ANGULAR_DIRECTIVES.map(directive => `_${directive}`)
+ 'Null Injector',
+ ...ANGULAR_DIRECTIVES,
+ ...ANGULAR_DIRECTIVES.map((directive) => `_${directive}`),
]);
export function filterOutInjectorsWithNoProviders(injectorPaths: InjectorPath[]): InjectorPath[] {
for (const injectorPath of injectorPaths) {
- injectorPath.path =
- injectorPath.path.filter(({providers}) => providers === undefined || providers > 0);
+ injectorPath.path = injectorPath.path.filter(
+ ({providers}) => providers === undefined || providers > 0,
+ );
}
return injectorPaths;
@@ -206,6 +220,6 @@ export function filterOutInjectorsWithNoProviders(injectorPaths: InjectorPath[])
export function filterOutAngularInjectors(injectorPaths: InjectorPath[]): InjectorPath[] {
return injectorPaths.map(({node, path}) => {
- return {node, path: path.filter(injector => !ignoredAngularInjectors.has(injector.name))};
+ return {node, path: path.filter((injector) => !ignoredAngularInjectors.has(injector.name))};
});
}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-tree.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-tree.component.ts
index 7d16872eb94..f6fe7271f84 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-tree.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-tree.component.ts
@@ -14,25 +14,49 @@ import {MatExpansionModule} from '@angular/material/expansion';
import {MatIconModule} from '@angular/material/icon';
import {MatTabsModule} from '@angular/material/tabs';
import {MatTooltipModule} from '@angular/material/tooltip';
-import {ComponentExplorerView, DevToolsNode, Events, MessageBus, SerializedInjector, SerializedProviderRecord} from 'protocol';
+import {
+ ComponentExplorerView,
+ DevToolsNode,
+ Events,
+ MessageBus,
+ SerializedInjector,
+ SerializedProviderRecord,
+} from 'protocol';
import {AngularSplitModule} from '../../vendor/angular-split/public_api';
-import {InjectorTreeD3Node, InjectorTreeVisualizer} from '../dependency-injection/injector-tree-visualizer';
+import {
+ InjectorTreeD3Node,
+ InjectorTreeVisualizer,
+} from '../dependency-injection/injector-tree-visualizer';
import {ResolutionPathComponent} from '../dependency-injection/resolution-path.component';
import {InjectorProvidersComponent} from './injector-providers.component';
-import {filterOutAngularInjectors, filterOutInjectorsWithNoProviders, generateEdgeIdsFromNodeIds, getInjectorIdsToRootFromNode, grabInjectorPathsFromDirectiveForest, splitInjectorPathsIntoElementAndEnvironmentPaths, transformInjectorResolutionPathsIntoTree} from './injector-tree-fns';
-
+import {
+ filterOutAngularInjectors,
+ filterOutInjectorsWithNoProviders,
+ generateEdgeIdsFromNodeIds,
+ getInjectorIdsToRootFromNode,
+ grabInjectorPathsFromDirectiveForest,
+ splitInjectorPathsIntoElementAndEnvironmentPaths,
+ transformInjectorResolutionPathsIntoTree,
+} from './injector-tree-fns';
@Component({
standalone: true,
selector: 'ng-injector-tree',
imports: [
- MatButtonModule, AngularSplitModule, ResolutionPathComponent, MatTabsModule, MatExpansionModule,
- InjectorProvidersComponent, MatIconModule, MatTooltipModule, MatCheckboxModule
+ MatButtonModule,
+ AngularSplitModule,
+ ResolutionPathComponent,
+ MatTabsModule,
+ MatExpansionModule,
+ InjectorProvidersComponent,
+ MatIconModule,
+ MatTooltipModule,
+ MatCheckboxModule,
],
templateUrl: `./injector-tree.component.html`,
- styleUrls: ['./injector-tree.component.scss']
+ styleUrls: ['./injector-tree.component.scss'],
})
export class InjectorTreeComponent {
@ViewChild('svgContainer', {static: false}) private svgContainer!: ElementRef;
@@ -45,7 +69,7 @@ export class InjectorTreeComponent {
zone = inject(NgZone);
firstRender = true;
- selectedNode: InjectorTreeD3Node|null = null;
+ selectedNode: InjectorTreeD3Node | null = null;
rawDirectiveForest: DevToolsNode[] = [];
injectorTreeGraph!: InjectorTreeVisualizer;
elementInjectorTreeGraph!: InjectorTreeVisualizer;
@@ -71,13 +95,13 @@ export class InjectorTreeComponent {
});
this._messageBus.on(
- 'latestInjectorProviders',
- (_: SerializedInjector, providers: SerializedProviderRecord[]) => {
- this.providers = Array.from(providers).sort((a, b) => {
- return a.token.localeCompare(b.token);
- });
+ 'latestInjectorProviders',
+ (_: SerializedInjector, providers: SerializedProviderRecord[]) => {
+ this.providers = Array.from(providers).sort((a, b) => {
+ return a.token.localeCompare(b.token);
});
-
+ },
+ );
this._messageBus.on('highlightComponent', (id: number) => {
const injectorNode = this.getNodeByComponentId(this.elementInjectorTreeGraph, id);
@@ -139,7 +163,7 @@ export class InjectorTreeComponent {
// In Angular we have two types of injectors, element injectors and environment injectors.
// We want to split the resolution paths into two groups, one for each type of injector.
const {elementPaths, environmentPaths, startingElementToEnvironmentPath} =
- splitInjectorPathsIntoElementAndEnvironmentPaths(injectorPaths);
+ splitInjectorPathsIntoElementAndEnvironmentPaths(injectorPaths);
this.elementToEnvironmentPath = startingElementToEnvironmentPath;
// Here for our 2 groups of resolution paths, we want to convert them into a tree structure.
@@ -216,7 +240,7 @@ export class InjectorTreeComponent {
this.snapToRoot(this.elementInjectorTreeGraph);
}
- getNodeByComponentId(graph: InjectorTreeVisualizer, id: number): InjectorTreeD3Node|null {
+ getNodeByComponentId(graph: InjectorTreeVisualizer, id: number): InjectorTreeD3Node | null {
const graphElement = graph.graphElement;
const element = graphElement.querySelector(`.node[data-component-id="${id}"]`);
if (element === null) {
@@ -237,8 +261,10 @@ export class InjectorTreeComponent {
}
this.injectorTreeGraph?.cleanup?.();
- this.injectorTreeGraph =
- new InjectorTreeVisualizer(this.svgContainer.nativeElement, this.g.nativeElement);
+ this.injectorTreeGraph = new InjectorTreeVisualizer(
+ this.svgContainer.nativeElement,
+ this.g.nativeElement,
+ );
}
setUpElementInjectorVisualizer(): void {
@@ -248,8 +274,10 @@ export class InjectorTreeComponent {
this.elementInjectorTreeGraph?.cleanup?.();
this.elementInjectorTreeGraph = new InjectorTreeVisualizer(
- this.elementSvgContainer.nativeElement, this.elementG.nativeElement,
- {nodeSeparation: () => 1});
+ this.elementSvgContainer.nativeElement,
+ this.elementG.nativeElement,
+ {nodeSeparation: () => 1},
+ );
}
highlightPathFromSelectedInjector(): void {
@@ -266,21 +294,22 @@ export class InjectorTreeComponent {
if (this.selectedNode.data.injector.type === 'element') {
const idsToRoot = getInjectorIdsToRootFromNode(this.selectedNode);
- idsToRoot.forEach(id => this.highlightNodeById(this.elementG, id));
+ idsToRoot.forEach((id) => this.highlightNodeById(this.elementG, id));
const edgeIds = generateEdgeIdsFromNodeIds(idsToRoot);
- edgeIds.forEach((edgeId => this.highlightEdgeById(this.elementG, edgeId)));
+ edgeIds.forEach((edgeId) => this.highlightEdgeById(this.elementG, edgeId));
const environmentPath =
- this.elementToEnvironmentPath.get(this.selectedNode.data.injector.id) ?? [];
- environmentPath.forEach(injector => this.highlightNodeById(this.g, injector.id));
- const environmentEdgeIds =
- generateEdgeIdsFromNodeIds(environmentPath.map(injector => injector.id));
- environmentEdgeIds.forEach(edgeId => this.highlightEdgeById(this.g, edgeId));
+ this.elementToEnvironmentPath.get(this.selectedNode.data.injector.id) ?? [];
+ environmentPath.forEach((injector) => this.highlightNodeById(this.g, injector.id));
+ const environmentEdgeIds = generateEdgeIdsFromNodeIds(
+ environmentPath.map((injector) => injector.id),
+ );
+ environmentEdgeIds.forEach((edgeId) => this.highlightEdgeById(this.g, edgeId));
} else {
const idsToRoot = getInjectorIdsToRootFromNode(this.selectedNode);
- idsToRoot.forEach(id => this.highlightNodeById(this.g, id));
+ idsToRoot.forEach((id) => this.highlightNodeById(this.g, id));
const edgeIds = generateEdgeIdsFromNodeIds(idsToRoot);
- edgeIds.forEach(edgeId => this.highlightEdgeById(this.g, edgeId));
+ edgeIds.forEach((edgeId) => this.highlightEdgeById(this.g, edgeId));
}
}
@@ -331,10 +360,12 @@ export class InjectorTreeComponent {
return;
}
const injector = this.selectedNode.data.injector;
- this._messageBus.emit('getInjectorProviders', [{
- id: injector.id,
- type: injector.type,
- name: injector.name,
- }]);
+ this._messageBus.emit('getInjectorProviders', [
+ {
+ id: injector.id,
+ type: injector.type,
+ name: injector.name,
+ },
+ ]);
}
}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/file-api-service.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/file-api-service.ts
index 65c94194db3..ada27aaeb6e 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/file-api-service.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/file-api-service.ts
@@ -33,8 +33,9 @@ export class FileApiService {
saveObjectAsJSON(object: object): void {
const downloadLink = document.createElement('a');
downloadLink.download = `NgDevTools-Profile-${toISO8601Compact(new Date())}.json`;
- downloadLink.href =
- URL.createObjectURL(new Blob([JSON.stringify(object)], {type: 'application/json'}));
+ downloadLink.href = URL.createObjectURL(
+ new Blob([JSON.stringify(object)], {type: 'application/json'}),
+ );
downloadLink.click();
setTimeout(() => URL.revokeObjectURL(downloadLink.href));
}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler-import-dialog.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler-import-dialog.component.ts
index 8e0ae352c08..e08cfe28a3f 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler-import-dialog.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler-import-dialog.component.ts
@@ -13,7 +13,7 @@ interface DialogData {
profilerVersion?: number;
importedVersion?: number;
errorMessage?: string;
- status: 'ERROR'|'INVALID_VERSION';
+ status: 'ERROR' | 'INVALID_VERSION';
}
@Component({
@@ -23,6 +23,7 @@ interface DialogData {
})
export class ProfilerImportDialogComponent {
constructor(
- public dialogRef: MatDialogRef,
- @Inject(MAT_DIALOG_DATA) public data: DialogData) {}
+ public dialogRef: MatDialogRef,
+ @Inject(MAT_DIALOG_DATA) public data: DialogData,
+ ) {}
}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.component.ts
index 462ea915255..e73253fa0e1 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.component.ts
@@ -14,7 +14,7 @@ import {Subject, Subscription} from 'rxjs';
import {FileApiService} from './file-api-service';
import {ProfilerImportDialogComponent} from './profiler-import-dialog.component';
-type State = 'idle'|'recording'|'visualizing';
+type State = 'idle' | 'recording' | 'visualizing';
const SUPPORTED_VERSIONS = [1];
const PROFILER_VERSION = 1;
@@ -32,9 +32,9 @@ export class ProfilerComponent implements OnInit {
private _buffer: ProfilerFrame[] = [];
constructor(
- private _fileApiService: FileApiService,
- private _messageBus: MessageBus,
- public dialog: MatDialog,
+ private _fileApiService: FileApiService,
+ private _messageBus: MessageBus,
+ public dialog: MatDialog,
) {
this._fileApiService.uploadedData.subscribe((importedFile) => {
if (importedFile.error) {
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.module.ts
index 1cec0ab9b45..084cff178e8 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.module.ts
@@ -35,5 +35,4 @@ import {TimelineModule} from './timeline/timeline.module';
],
exports: [ProfilerComponent],
})
-export class ProfilerModule {
-}
+export class ProfilerModule {}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.spec.ts
index 13b1b0b58d0..76d0e6bef74 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.spec.ts
@@ -85,163 +85,191 @@ describe('filtering', () => {
describe('filtering', () => {
it('should filter results with a source query', () => {
const filter = createFilter('source:click');
- expect(filter({
- frame: {
- directives: [],
- duration: 10,
- source: 'click',
- },
- style: {},
- toolTip: '',
- })).toBeTrue();
+ expect(
+ filter({
+ frame: {
+ directives: [],
+ duration: 10,
+ source: 'click',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeTrue();
- expect(filter({
- frame: {
- directives: [],
- duration: 10,
- source: 'mouseenter',
- },
- style: {},
- toolTip: '',
- })).toBeFalse();
+ expect(
+ filter({
+ frame: {
+ directives: [],
+ duration: 10,
+ source: 'mouseenter',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeFalse();
});
it('should filter results with a duration query', () => {
const filter1 = createFilter('duration:>10ms');
- expect(filter1({
- frame: {
- directives: [],
- duration: 10,
- source: 'click',
- },
- style: {},
- toolTip: '',
- })).toBeFalse();
+ expect(
+ filter1({
+ frame: {
+ directives: [],
+ duration: 10,
+ source: 'click',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeFalse();
- expect(filter1({
- frame: {
- directives: [],
- duration: 15,
- source: 'mouseenter',
- },
- style: {},
- toolTip: '',
- })).toBeTrue();
+ expect(
+ filter1({
+ frame: {
+ directives: [],
+ duration: 15,
+ source: 'mouseenter',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeTrue();
const filter2 = createFilter('duration:=10ms');
- expect(filter2({
- frame: {
- directives: [],
- duration: 11,
- source: 'mouseenter',
- },
- style: {},
- toolTip: '',
- })).toBeFalse();
- expect(filter2({
- frame: {
- directives: [],
- duration: 10,
- source: 'mouseenter',
- },
- style: {},
- toolTip: '',
- })).toBeTrue();
+ expect(
+ filter2({
+ frame: {
+ directives: [],
+ duration: 11,
+ source: 'mouseenter',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeFalse();
+ expect(
+ filter2({
+ frame: {
+ directives: [],
+ duration: 10,
+ source: 'mouseenter',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeTrue();
});
it('should work with composite selectors', () => {
const filter = createFilter('duration:>10ms source: click');
- expect(filter({
- frame: {
- directives: [],
- duration: 10,
- source: 'click',
- },
- style: {},
- toolTip: '',
- })).toBeFalse();
+ expect(
+ filter({
+ frame: {
+ directives: [],
+ duration: 10,
+ source: 'click',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeFalse();
- expect(filter({
- frame: {
- directives: [],
- duration: 15,
- source: 'mouseenter',
- },
- style: {},
- toolTip: '',
- })).toBeFalse();
+ expect(
+ filter({
+ frame: {
+ directives: [],
+ duration: 15,
+ source: 'mouseenter',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeFalse();
- expect(filter({
- frame: {
- directives: [],
- duration: 15,
- source: 'click',
- },
- style: {},
- toolTip: '',
- })).toBeTrue();
+ expect(
+ filter({
+ frame: {
+ directives: [],
+ duration: 15,
+ source: 'click',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeTrue();
});
it('should work with invalid arguments', () => {
const filter = createFilter('duration:>ms');
- expect(filter({
- frame: {
- directives: [],
- duration: 15,
- source: 'click',
- },
- style: {},
- toolTip: '',
- })).toBeTrue();
+ expect(
+ filter({
+ frame: {
+ directives: [],
+ duration: 15,
+ source: 'click',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeTrue();
});
it('should work with negation', () => {
const filter = createFilter('!source:message');
- expect(filter({
- frame: {
- directives: [],
- duration: 15,
- source: 'message',
- },
- style: {},
- toolTip: '',
- })).toBeFalse();
+ expect(
+ filter({
+ frame: {
+ directives: [],
+ duration: 15,
+ source: 'message',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeFalse();
});
it('should work with negation and composite expressions', () => {
const filter = createFilter('!duration:=15 !source:message source:click');
- expect(filter({
- frame: {
- directives: [],
- duration: 15,
- source: 'click',
- },
- style: {},
- toolTip: '',
- })).toBeFalse();
+ expect(
+ filter({
+ frame: {
+ directives: [],
+ duration: 15,
+ source: 'click',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeFalse();
- expect(filter({
- frame: {
- directives: [],
- duration: 10,
- source: 'message',
- },
- style: {},
- toolTip: '',
- })).toBeFalse();
+ expect(
+ filter({
+ frame: {
+ directives: [],
+ duration: 10,
+ source: 'message',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeFalse();
- expect(filter({
- frame: {
- directives: [],
- duration: 14,
- source: 'click',
- },
- style: {},
- toolTip: '',
- })).toBeTrue();
+ expect(
+ filter({
+ frame: {
+ directives: [],
+ duration: 14,
+ source: 'click',
+ },
+ style: {},
+ toolTip: '',
+ }),
+ ).toBeTrue();
});
});
});
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.ts
index abe955723fe..9e34fff8f9e 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.ts
@@ -16,11 +16,11 @@ export const noopFilter = (_: GraphNode) => true;
interface Query {
readonly name: QueryType;
- parseArguments(args: string[]): Arguments|undefined;
+ parseArguments(args: string[]): Arguments | undefined;
apply(node: ProfilerFrame, args: Arguments): boolean;
}
-type Operator = '>'|'<'|'='|'<='|'>=';
+type Operator = '>' | '<' | '=' | '<=' | '>=';
const ops: {[operator in Operator]: (a: number, b: number) => boolean} = {
'>'(a: number, b: number): boolean {
@@ -48,12 +48,12 @@ const enum QueryType {
Source = 'source',
}
-type QueryArguments = DurationArgument|SourceArgument;
+type QueryArguments = DurationArgument | SourceArgument;
const operatorRe = /^(>=|<=|=|<|>|)/;
class DurationQuery implements Query {
readonly name = QueryType.Duration;
- parseArguments([arg]: string[]): DurationArgument|undefined {
+ parseArguments([arg]: string[]): DurationArgument | undefined {
arg = arg.trim();
const operator = (arg.match(operatorRe) ?? [null])[0];
if (!operator) {
@@ -82,15 +82,17 @@ class SourceQuery implements Query {
}
}
-const queryMap: {[query in QueryType]: Query} =
- [new DurationQuery(), new SourceQuery()].reduce((map, query) => {
- map[query.name] = query;
- return map;
- }, {} as {[query in QueryType]: Query});
+const queryMap: {[query in QueryType]: Query} = [new DurationQuery(), new SourceQuery()].reduce(
+ (map, query) => {
+ map[query.name] = query;
+ return map;
+ },
+ {} as {[query in QueryType]: Query},
+);
const queryRe = new RegExp(`!?s*(${QueryType.Duration}|${QueryType.Source})$`, 'g');
-type Predicate = true|false;
+type Predicate = true | false;
type QueryAST = [Predicate, QueryType, QueryArguments];
/**
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/frame-selector.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/frame-selector.component.ts
index aafe0d1e7b0..a6addaf7c0a 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/frame-selector.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/frame-selector.component.ts
@@ -7,7 +7,15 @@
*/
import {CdkVirtualScrollViewport} from '@angular/cdk/scrolling';
-import {Component, DestroyRef, ElementRef, EventEmitter, Input, Output, ViewChild,} from '@angular/core';
+import {
+ Component,
+ DestroyRef,
+ ElementRef,
+ EventEmitter,
+ Input,
+ Output,
+ ViewChild,
+} from '@angular/core';
import {takeUntilDestroyed} from '@angular/core/rxjs-interop';
import {Observable, Subscription} from 'rxjs';
@@ -28,11 +36,14 @@ export class FrameSelectorComponent {
set graphData$(graphData: Observable) {
this._graphData$ = graphData;
this._graphDataSubscription?.unsubscribe();
- this._graphDataSubscription = this._graphData$.pipe(takeUntilDestroyed(this.destroyRef))
- .subscribe((items) => setTimeout(() => {
- this.frameCount = items.length;
- this.viewport.scrollToIndex(items.length);
- }));
+ this._graphDataSubscription = this._graphData$
+ .pipe(takeUntilDestroyed(this.destroyRef))
+ .subscribe((items) =>
+ setTimeout(() => {
+ this.frameCount = items.length;
+ this.viewport.scrollToIndex(items.length);
+ }),
+ );
}
get graphData$(): Observable {
@@ -57,10 +68,9 @@ export class FrameSelectorComponent {
private _graphData$!: Observable;
private _graphDataSubscription?: Subscription;
-
constructor(
- private _tabUpdate: TabUpdate,
- private destroyRef: DestroyRef,
+ private _tabUpdate: TabUpdate,
+ private destroyRef: DestroyRef,
) {
this._tabUpdate.tabUpdate$.pipe(takeUntilDestroyed()).subscribe(() => {
if (this.viewport) {
@@ -84,7 +94,7 @@ export class FrameSelectorComponent {
const sortedIndexes = indexArray.sort((a, b) => a - b);
const groups: number[][] = [];
- let prev: number|null = null;
+ let prev: number | null = null;
for (const index of sortedIndexes) {
// First iteration: create initial group and set prev variable to the first index
@@ -104,12 +114,12 @@ export class FrameSelectorComponent {
prev = index;
}
- return groups.filter((group) => group.length > 0)
- .map(
- (group) => group.length === 1 ? group[0] + 1 :
- `${group[0] + 1}-${group[group.length - 1] + 1}`,
- )
- .join(', ');
+ return groups
+ .filter((group) => group.length > 0)
+ .map((group) =>
+ group.length === 1 ? group[0] + 1 : `${group[0] + 1}-${group[group.length - 1] + 1}`,
+ )
+ .join(', ');
}
move(value: number): void {
@@ -134,12 +144,12 @@ export class FrameSelectorComponent {
if (shiftKey) {
const [start, end] = [Math.min(this.startFrameIndex, idx), Math.max(this.endFrameIndex, idx)];
this.selectedFrameIndexes = new Set(
- Array.from(Array(end - start + 1), (_, index) => index + start),
+ Array.from(Array(end - start + 1), (_, index) => index + start),
);
} else if (ctrlKey || metaKey) {
if (this.selectedFrameIndexes.has(idx)) {
if (this.selectedFrameIndexes.size === 1) {
- return; // prevent deselection when only one frame is selected
+ return; // prevent deselection when only one frame is selected
}
this.selectedFrameIndexes.delete(idx);
@@ -190,6 +200,6 @@ export class FrameSelectorComponent {
const dragScrollSpeed = 2;
const dx = event.clientX - this._viewportScrollState.xCoordinate;
this.viewport.elementRef.nativeElement.scrollLeft =
- this._viewportScrollState.scrollLeft - dx * dragScrollSpeed;
+ this._viewportScrollState.scrollLeft - dx * dragScrollSpeed;
}
}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/bargraph-formatter/bargraph-formatter.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/bargraph-formatter/bargraph-formatter.ts
index 9ecc00b6424..b459eb61ea0 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/bargraph-formatter/bargraph-formatter.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/bargraph-formatter/bargraph-formatter.ts
@@ -16,7 +16,7 @@ export interface BargraphNode {
value: number;
label: string;
original: ElementProfile;
- count: number; // number of merged nodes with the same label
+ count: number; // number of merged nodes with the same label
directives?: DirectiveProfile[];
}
@@ -55,7 +55,10 @@ export class BarGraphFormatter extends RecordFormatter {
}
override addFrame(
- nodes: BargraphNode[], elements: ElementProfile[], parents: ElementProfile[] = []): number {
+ nodes: BargraphNode[],
+ elements: ElementProfile[],
+ parents: ElementProfile[] = [],
+ ): number {
let timeSpent = 0;
elements.forEach((element) => {
// Possibly undefined because of the insertion on the backend.
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.spec.ts
index 974e9259de6..75b82d84343 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.spec.ts
@@ -7,7 +7,12 @@
*/
import {AppEntry} from '../record-formatter';
-import {NESTED_FORMATTED_FLAMEGRAPH_RECORD, NESTED_RECORD, SIMPLE_FORMATTED_FLAMEGRAPH_RECORD, SIMPLE_RECORD,} from '../record-formatter-spec-constants';
+import {
+ NESTED_FORMATTED_FLAMEGRAPH_RECORD,
+ NESTED_RECORD,
+ SIMPLE_FORMATTED_FLAMEGRAPH_RECORD,
+ SIMPLE_RECORD,
+} from '../record-formatter-spec-constants';
import {FlamegraphFormatter, FlamegraphNode} from './flamegraph-formatter';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.ts
index a91d3456c5d..8e8d55561b5 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.ts
@@ -24,8 +24,11 @@ export interface FlamegraphNode {
export const ROOT_LEVEL_ELEMENT_LABEL = 'Entire application';
export class FlamegraphFormatter extends RecordFormatter {
- override formatFrame(frame: ProfilerFrame, showChangeDetection?: boolean, theme?: Theme):
- FlamegraphNode {
+ override formatFrame(
+ frame: ProfilerFrame,
+ showChangeDetection?: boolean,
+ theme?: Theme,
+ ): FlamegraphNode {
const result: FlamegraphNode = {
value: 0,
label: ROOT_LEVEL_ELEMENT_LABEL,
@@ -40,7 +43,7 @@ export class FlamegraphFormatter extends RecordFormatter {
if (showChangeDetection) {
result.color =
- theme === 'dark-theme' ? CHANGE_DETECTION_COLOR_DARK : CHANGE_DETECTION_COLOR_LIGHT;
+ theme === 'dark-theme' ? CHANGE_DETECTION_COLOR_DARK : CHANGE_DETECTION_COLOR_LIGHT;
}
this.addFrame(result.children, frame.directives, showChangeDetection, theme);
@@ -48,8 +51,11 @@ export class FlamegraphFormatter extends RecordFormatter {
}
override addFrame(
- nodes: FlamegraphNode[], elements: ElementProfile[], showChangeDetection?: boolean,
- theme?: Theme): number {
+ nodes: FlamegraphNode[],
+ elements: ElementProfile[],
+ showChangeDetection?: boolean,
+ theme?: Theme,
+ ): number {
let timeSpent = 0;
elements.forEach((element) => {
// Possibly undefined because of
@@ -69,7 +75,7 @@ export class FlamegraphFormatter extends RecordFormatter {
};
if (showChangeDetection) {
const CHANGE_DETECTION_COLOR =
- theme === 'dark-theme' ? CHANGE_DETECTION_COLOR_DARK : CHANGE_DETECTION_COLOR_LIGHT;
+ theme === 'dark-theme' ? CHANGE_DETECTION_COLOR_DARK : CHANGE_DETECTION_COLOR_LIGHT;
node.color = changeDetected ? CHANGE_DETECTION_COLOR : NO_CHANGE_DETECTION_COLOR;
}
timeSpent += this.addFrame(node.children, element.children, showChangeDetection, theme);
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/frame-merger.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/frame-merger.ts
index e74506efd9b..2da69004ef8 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/frame-merger.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/frame-merger.ts
@@ -8,7 +8,7 @@
import {DirectiveProfile, ElementProfile, LifecycleProfile, ProfilerFrame} from 'protocol';
-const mergeProperty = (mergeInProp: number|undefined, value: number|undefined) => {
+const mergeProperty = (mergeInProp: number | undefined, value: number | undefined) => {
if (mergeInProp === undefined) {
return value;
}
@@ -52,7 +52,7 @@ const mergeFrame = (mergeIn: ProfilerFrame, second: ProfilerFrame) => {
mergeDirectives(mergeIn.directives, second.directives);
};
-export const mergeFrames = (frames: ProfilerFrame[]): ProfilerFrame|null => {
+export const mergeFrames = (frames: ProfilerFrame[]): ProfilerFrame | null => {
if (!frames || !frames.length) {
return null;
}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter-spec-constants.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter-spec-constants.ts
index 604fe932839..91c0f173044 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter-spec-constants.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter-spec-constants.ts
@@ -334,15 +334,10 @@ export const NESTED_FORMATTED_FLAMEGRAPH_RECORD: FlamegraphNode[] = [
changeDetected: true,
children: [],
instances: 1,
- original: NESTED_RECORD[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0],
+ original:
+ NESTED_RECORD[0].children[0].children[0].children[0]
+ .children[0].children[0].children[0].children[0]
+ .children[0],
},
{
value: 0,
@@ -350,15 +345,10 @@ export const NESTED_FORMATTED_FLAMEGRAPH_RECORD: FlamegraphNode[] = [
changeDetected: true,
children: [],
instances: 1,
- original: NESTED_RECORD[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[1],
+ original:
+ NESTED_RECORD[0].children[0].children[0].children[0]
+ .children[0].children[0].children[0].children[0]
+ .children[1],
},
{
value: 0,
@@ -366,38 +356,28 @@ export const NESTED_FORMATTED_FLAMEGRAPH_RECORD: FlamegraphNode[] = [
changeDetected: true,
children: [],
instances: 1,
- original: NESTED_RECORD[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[2],
+ original:
+ NESTED_RECORD[0].children[0].children[0].children[0]
+ .children[0].children[0].children[0].children[0]
+ .children[2],
},
],
instances: 1,
- original: NESTED_RECORD[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0]
- .children[0],
+ original:
+ NESTED_RECORD[0].children[0].children[0].children[0].children[0]
+ .children[0].children[0].children[0],
},
],
instances: 1,
original:
- NESTED_RECORD[0].children[0].children[0].children[0].children
- [0].children
- [0].children[0],
+ NESTED_RECORD[0].children[0].children[0].children[0].children[0]
+ .children[0].children[0],
},
],
instances: 1,
- original: NESTED_RECORD[0].children[0].children[0].children[0].children
- [0].children[0],
+ original:
+ NESTED_RECORD[0].children[0].children[0].children[0].children[0]
+ .children[0],
},
],
instances: 1,
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.spec.ts
index e81d726ec58..94546fa5009 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.spec.ts
@@ -28,13 +28,15 @@ describe('getValue cases', () => {
it('calculates value with no lifecycle hooks', () => {
element = {
children: [],
- directives: [{
- changeDetection: 10,
- isElement: false,
- isComponent: true,
- lifecycle: {},
- name: 'AppComponent'
- }],
+ directives: [
+ {
+ changeDetection: 10,
+ isElement: false,
+ isComponent: true,
+ lifecycle: {},
+ name: 'AppComponent',
+ },
+ ],
};
expect(formatter.getValue(element)).toBe(10);
});
@@ -48,7 +50,7 @@ describe('getValue cases', () => {
isElement: false,
name: 'NgForOf',
lifecycle: {ngDoCheck: 5},
- changeDetection: 0
+ changeDetection: 0,
},
],
};
@@ -64,7 +66,7 @@ describe('getValue cases', () => {
isElement: false,
name: 'NgForOf',
lifecycle: {ngDoCheck: 5},
- changeDetection: 10
+ changeDetection: 10,
},
],
};
@@ -143,7 +145,7 @@ describe('getLabel cases', () => {
isComponent: true,
lifecycle: {},
outputs: {},
- name: 'TodoComponent'
+ name: 'TodoComponent',
},
],
};
@@ -176,7 +178,7 @@ describe('getLabel cases', () => {
isComponent: true,
lifecycle: {},
outputs: {},
- name: 'TodoComponent'
+ name: 'TodoComponent',
},
],
};
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.ts
index ba82c8c1b32..2d19b0f977c 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.ts
@@ -26,13 +26,16 @@ export interface GraphNode {
export abstract class RecordFormatter {
abstract formatFrame(frame: ProfilerFrame): T;
- abstract addFrame(nodes: T|T[], elements: ElementProfile[]): number|void;
+ abstract addFrame(nodes: T | T[], elements: ElementProfile[]): number | void;
getLabel(element: ElementProfile): string {
- const name = element.directives.filter((d) => d.isComponent).map((c) => c.name).join(', ');
- const attributes =
- [...new Set(element.directives.filter((d) => !d.isComponent).map((d) => d.name))].join(
- ', ');
+ const name = element.directives
+ .filter((d) => d.isComponent)
+ .map((c) => c.name)
+ .join(', ');
+ const attributes = [
+ ...new Set(element.directives.filter((d) => !d.isComponent).map((d) => d.name)),
+ ].join(', ');
return attributes === '' ? name : `${name}[${attributes}]`;
}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/tree-map-formatter.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/tree-map-formatter.ts
index eb05a379d9e..a7de314c5b2 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/tree-map-formatter.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/tree-map-formatter.ts
@@ -16,7 +16,7 @@ export interface TreeMapNode {
value: number;
size: number;
children: TreeMapNode[];
- original: ElementProfile|null;
+ original: ElementProfile | null;
}
export class TreeMapFormatter extends RecordFormatter {
@@ -37,7 +37,10 @@ export class TreeMapFormatter extends RecordFormatter {
}
override addFrame(
- nodes: TreeMapNode[], elements: ElementProfile[], prev: TreeMapNode|null = null): void {
+ nodes: TreeMapNode[],
+ elements: ElementProfile[],
+ prev: TreeMapNode | null = null,
+ ): void {
elements.forEach((element) => {
if (!element) {
console.error('Unable to insert undefined element');
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-dialog.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-dialog.component.ts
index 56a71cde647..1206d1ed309 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-dialog.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-dialog.component.ts
@@ -13,5 +13,4 @@ import {Component} from '@angular/core';
templateUrl: './recording-dialog.component.html',
styleUrls: ['./recording-dialog.component.scss'],
})
-export class RecordingDialogComponent {
-}
+export class RecordingDialogComponent {}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-modal.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-modal.component.ts
index c08044c1484..44adec12eca 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-modal.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-modal.component.ts
@@ -13,5 +13,4 @@ import {Component} from '@angular/core';
templateUrl: './recording-modal.component.html',
styleUrls: ['./recording-modal.component.scss'],
})
-export class RecordingModalComponent {
-}
+export class RecordingModalComponent {}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/bar-chart.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/bar-chart.component.ts
index a9264d5f8cd..6b03ac0cf7b 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/bar-chart.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/bar-chart.component.ts
@@ -6,7 +6,15 @@
* found in the LICENSE file at https://angular.io/license
*/
-import {animate, animateChild, query, stagger, style, transition, trigger,} from '@angular/animations';
+import {
+ animate,
+ animateChild,
+ query,
+ stagger,
+ style,
+ transition,
+ trigger,
+} from '@angular/animations';
import {Component, EventEmitter, Input, Output} from '@angular/core';
import {BargraphNode} from '../record-formatter/bargraph-formatter/bargraph-formatter';
@@ -25,11 +33,9 @@ interface BarData {
templateUrl: './bar-chart.component.html',
styleUrls: ['./bar-chart.component.scss'],
animations: [
- trigger(
- 'appear',
- [
- transition(':enter', [style({width: 0}), animate('.3s ease', style({width: '*'}))]),
- ]),
+ trigger('appear', [
+ transition(':enter', [style({width: 0}), animate('.3s ease', style({width: '*'}))]),
+ ]),
trigger('stagger', [transition(':enter', [query(':enter', stagger('.1s', [animateChild()]))])]),
],
})
@@ -58,5 +64,6 @@ export class BarChartComponent {
export function createBarText(bar: BargraphNode) {
return `${bar.label} | ${bar.value.toFixed(1)} ms | ${bar.count} ${
- bar.count === 1 ? 'instance' : 'instances'}`;
+ bar.count === 1 ? 'instance' : 'instances'
+ }`;
}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/flamegraph-visualizer.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/flamegraph-visualizer.component.ts
index 4ba74223f0f..89e5a2ce137 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/flamegraph-visualizer.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/flamegraph-visualizer.component.ts
@@ -12,7 +12,11 @@ import {ProfilerFrame} from 'protocol';
import {Subscription} from 'rxjs';
import {Theme, ThemeService} from '../../../../theme-service';
-import {FlamegraphFormatter, FlamegraphNode, ROOT_LEVEL_ELEMENT_LABEL,} from '../record-formatter/flamegraph-formatter/flamegraph-formatter';
+import {
+ FlamegraphFormatter,
+ FlamegraphNode,
+ ROOT_LEVEL_ELEMENT_LABEL,
+} from '../record-formatter/flamegraph-formatter/flamegraph-formatter';
import {formatDirectiveProfile} from './profile-formatter';
import {SelectedDirective, SelectedEntry} from './timeline-visualizer.component';
@@ -52,16 +56,18 @@ export class FlamegraphVisualizerComponent implements OnInit, OnDestroy {
ngOnInit(): void {
this._currentThemeSubscription = this.themeService.currentTheme.subscribe((theme) => {
this.currentTheme = theme;
- this.colors = theme === 'dark-theme' ? {
- hue: [210, 90],
- saturation: [90, 90],
- lightness: [25, 25],
- } :
- {
- hue: [50, 15],
- saturation: [100, 100],
- lightness: [75, 75],
- };
+ this.colors =
+ theme === 'dark-theme'
+ ? {
+ hue: [210, 90],
+ saturation: [90, 90],
+ lightness: [25, 25],
+ }
+ : {
+ hue: [50, 15],
+ saturation: [100, 100],
+ lightness: [75, 75],
+ };
this._selectFrame();
});
}
@@ -89,7 +95,8 @@ export class FlamegraphVisualizerComponent implements OnInit, OnDestroy {
}
private _selectFrame(): void {
- this.profilerBars =
- [this._formatter.formatFrame(this._frame, this._showChangeDetection, this.currentTheme)];
+ this.profilerBars = [
+ this._formatter.formatFrame(this._frame, this._showChangeDetection, this.currentTheme),
+ ];
}
}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/profile-formatter.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/profile-formatter.ts
index daedbf22c18..e14d95f0473 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/profile-formatter.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/profile-formatter.ts
@@ -23,7 +23,10 @@ const formatOutput = (outputName: string) => {
}
output.push(parts[idx]);
}
- return output.filter((el) => !!el).reverse().join('-');
+ return output
+ .filter((el) => !!el)
+ .reverse()
+ .join('-');
};
export const formatDirectiveProfile = (nodes: DirectiveProfile[]) => {
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/recording-visualizer.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/recording-visualizer.module.ts
index 0242e8fa036..de018a35f2f 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/recording-visualizer.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/recording-visualizer.module.ts
@@ -32,10 +32,13 @@ import {TreeMapVisualizerComponent} from './tree-map-visualizer.component';
BargraphVisualizerComponent,
],
imports: [
- CommonModule, NgxFlamegraphModule, MatTooltipModule, MatToolbarModule, MatCardModule,
- AngularSplitModule
+ CommonModule,
+ NgxFlamegraphModule,
+ MatTooltipModule,
+ MatToolbarModule,
+ MatCardModule,
+ AngularSplitModule,
],
exports: [TimelineVisualizerComponent],
})
-export class RecordingVisualizerModule {
-}
+export class RecordingVisualizerModule {}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/timeline-visualizer.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/timeline-visualizer.component.ts
index 11de53f2c12..f73a009c8d9 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/timeline-visualizer.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/timeline-visualizer.component.ts
@@ -14,7 +14,7 @@ import {FlamegraphNode} from '../record-formatter/flamegraph-formatter';
import {VisualizationMode} from '../visualization-mode';
export interface SelectedEntry {
- entry: BargraphNode|FlamegraphNode;
+ entry: BargraphNode | FlamegraphNode;
selectedDirectives: SelectedDirective[];
parentHierarchy?: {name: string}[];
}
@@ -43,7 +43,7 @@ export class TimelineVisualizerComponent {
cmpVisualizationModes = VisualizationMode;
- selectedEntry: BargraphNode|FlamegraphNode|null = null;
+ selectedEntry: BargraphNode | FlamegraphNode | null = null;
selectedDirectives: SelectedDirective[] = [];
parentHierarchy: {name: string}[] = [];
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/tree-map-visualizer.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/tree-map-visualizer.component.ts
index 054fe6d9498..68927a3bf41 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/tree-map-visualizer.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/tree-map-visualizer.component.ts
@@ -36,15 +36,17 @@ export class TreeMapVisualizerComponent implements OnInit, OnDestroy {
private resize$ = new Subject();
private _throttledResizeSubscription!: Subscription;
- private _resizeObserver: ResizeObserver =
- new ResizeObserver(() => this._ngZone.run(() => this.resize$.next()));
+ private _resizeObserver: ResizeObserver = new ResizeObserver(() =>
+ this._ngZone.run(() => this.resize$.next()),
+ );
private treeMapRecords!: TreeMapNode;
@ViewChild('webTree', {static: true}) tree!: ElementRef;
ngOnInit(): void {
- this._throttledResizeSubscription =
- this.resize$.pipe(debounceTime(100)).subscribe(() => this._renderTree());
+ this._throttledResizeSubscription = this.resize$
+ .pipe(debounceTime(100))
+ .subscribe(() => this._renderTree());
this._resizeObserver.observe(this.tree.nativeElement);
}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline-controls.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline-controls.component.ts
index f23e3570fd2..8f26734f958 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline-controls.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline-controls.component.ts
@@ -17,7 +17,7 @@ import {VisualizationMode} from './visualization-mode';
styleUrls: ['./timeline-controls.component.scss'],
})
export class TimelineControlsComponent {
- @Input() record: ProfilerFrame|undefined;
+ @Input() record: ProfilerFrame | undefined;
@Input({required: true}) estimatedFrameRate!: number;
@Input({required: true}) visualizationMode!: VisualizationMode;
@Input({required: true}) empty!: boolean;
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.component.ts
index e20b382d822..5a358cbc5f4 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.component.ts
@@ -44,7 +44,7 @@ export class TimelineComponent implements OnDestroy {
@Output() exportProfile = new EventEmitter();
visualizationMode = VisualizationMode.BarGraph;
changeDetection = false;
- frame: ProfilerFrame|null = null;
+ frame: ProfilerFrame | null = null;
private _filter: Filter = noopFilter;
private _maxDuration = -Infinity;
@@ -54,9 +54,11 @@ export class TimelineComponent implements OnDestroy {
private _graphDataSubject = new BehaviorSubject([]);
visualizing = false;
graphData$ = this._graphDataSubject.pipe(
- share(), map((nodes) => {
- return (this._filtered = nodes.filter((node) => this._filter(node)));
- }));
+ share(),
+ map((nodes) => {
+ return (this._filtered = nodes.filter((node) => this._filter(node)));
+ }),
+ );
selectFrames({indexes}: {indexes: number[]}): void {
this.frame = mergeFrames(indexes.map((index) => this._filtered[index].frame));
@@ -106,9 +108,9 @@ export class TimelineComponent implements OnDestroy {
return;
}
const multiplicationFactor = parseFloat((MAX_HEIGHT / this._maxDuration).toFixed(2));
- frames.forEach(
- (frame) =>
- this._graphDataSubject.value.push(this._getBarStyles(frame, multiplicationFactor)));
+ frames.forEach((frame) =>
+ this._graphDataSubject.value.push(this._getBarStyles(frame, multiplicationFactor)),
+ );
// We need to pass a new reference, because the CDK virtual scroll
// has OnPush strategy, so it doesn't update the UI otherwise.
@@ -118,7 +120,9 @@ export class TimelineComponent implements OnDestroy {
private _generateBars(): GraphNode[] {
const maxValue = this._allRecords.reduce(
- (acc: number, frame: ProfilerFrame) => Math.max(acc, frame.duration), 0);
+ (acc: number, frame: ProfilerFrame) => Math.max(acc, frame.duration),
+ 0,
+ );
const multiplicationFactor = parseFloat((MAX_HEIGHT / maxValue).toFixed(2));
this._maxDuration = Math.max(this._maxDuration, maxValue);
return this._allRecords.map((r) => this._getBarStyles(r, multiplicationFactor));
@@ -130,8 +134,7 @@ export class TimelineComponent implements OnDestroy {
const backgroundColor = this.getColorByFrameRate(this.estimateFrameRate(frame.duration));
const style = {
- 'background-image': `-webkit-linear-gradient(bottom, ${backgroundColor} ${
- colorPercentage}%, transparent ${colorPercentage}%)`,
+ 'background-image': `-webkit-linear-gradient(bottom, ${backgroundColor} ${colorPercentage}%, transparent ${colorPercentage}%)`,
cursor: 'pointer',
'min-width': '25px',
width: '25px',
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.module.ts
index 2e3d3f999cb..f67adf38e67 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.module.ts
@@ -60,5 +60,4 @@ import {TimelineComponent} from './timeline.component';
FrameSelectorComponent,
],
})
-export class TimelineModule {
-}
+export class TimelineModule {}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.component.ts
index d54a0248214..250b73a78cd 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.component.ts
@@ -57,76 +57,82 @@ export class RouterTreeComponent implements AfterViewInit {
const root: any = this._routes[0];
- const nodes = this.tree(d3.hierarchy(
+ const nodes = this.tree(
+ d3.hierarchy(
root.children.length === 0 || root.children.length > 1 ? root : root.children[0],
- (d) => d.children));
+ (d) => d.children,
+ ),
+ );
// Define the div for the tooltip
- this.tooltip = d3.select('body')
- .append('div')
- .attr('class', 'tooltip')
- .style('opacity', 0)
- .style('padding', '0');
+ this.tooltip = d3
+ .select('body')
+ .append('div')
+ .attr('class', 'tooltip')
+ .style('opacity', 0)
+ .style('padding', '0');
g.selectAll('.link')
- .data(nodes.descendants().slice(1))
- .enter()
- .append('path')
- .attr('class', 'link')
- .attr('d', (d) => `
+ .data(nodes.descendants().slice(1))
+ .enter()
+ .append('path')
+ .attr('class', 'link')
+ .attr(
+ 'd',
+ (d) => `
M${d.y},${d.x}
C${(d.y + (d as any).parent.y) / 2},
${d.x} ${(d.y + (d as any).parent.y) / 2},
${(d as any).parent.x} ${(d as any).parent.y},
- ${(d as any).parent.x}`);
+ ${(d as any).parent.x}`,
+ );
// Declare the nodes
- const node =
- g.selectAll('g.node')
- .data(nodes.descendants())
- .enter()
- .append('g')
- .attr('class', 'node')
- .on('mouseover',
- (n) => {
- const content = `
+ const node = g
+ .selectAll('g.node')
+ .data(nodes.descendants())
+ .enter()
+ .append('g')
+ .attr('class', 'node')
+ .on('mouseover', (n) => {
+ const content = `
Name: ${n.data.name}
Path: ${n.data.path}
Auxiliary Route: ${n.data.isAux}
Specificity: ${n.data.specificity}
Handler: ${n.data.handler}
`;
- this.tooltip.style('padding', '4px 8px').transition().style('opacity', 0.9);
- this.tooltip.html(content)
- .style('left', (d3 as any).event.pageX + 8 + 'px')
- .style('top', (d3 as any).event.pageY + 8 + 'px');
- })
- .on('mouseout', () => this.tooltip.transition().style('opacity', 0))
- .attr('transform', (d) => `translate(${d.y},${d.x})`);
+ this.tooltip.style('padding', '4px 8px').transition().style('opacity', 0.9);
+ this.tooltip
+ .html(content)
+ .style('left', (d3 as any).event.pageX + 8 + 'px')
+ .style('top', (d3 as any).event.pageY + 8 + 'px');
+ })
+ .on('mouseout', () => this.tooltip.transition().style('opacity', 0))
+ .attr('transform', (d) => `translate(${d.y},${d.x})`);
- node.append('circle')
- .attr('class', (d) => ((d.data as any).isAux ? 'node-aux-route' : 'node-route'))
- .attr('r', 6);
+ node
+ .append('circle')
+ .attr('class', (d) => ((d.data as any).isAux ? 'node-aux-route' : 'node-route'))
+ .attr('r', 6);
- node.append('text')
- .attr('dy', (d) => (d.depth === 0 || !d.children ? '0.35em' : '-1.50em'))
- .attr(
- 'dx',
- (d: any):
- any => {
- if (d.parent && d.children) {
- return 6;
- } else if (!d.parent && d.children) {
- return -13;
- } else if (d.parent && !d.children) {
- return 13;
- }
- })
- .attr('text-anchor', (d) => (d.children ? 'end' : 'start'))
- .text((d) => {
- const label = (d.data as any).name;
- return label.length > 20 ? label.slice(0, 17) + '...' : label;
- });
+ node
+ .append('text')
+ .attr('dy', (d) => (d.depth === 0 || !d.children ? '0.35em' : '-1.50em'))
+ .attr('dx', (d: any): any => {
+ if (d.parent && d.children) {
+ return 6;
+ } else if (!d.parent && d.children) {
+ return -13;
+ } else if (d.parent && !d.children) {
+ return 13;
+ }
+ })
+ .attr('text-anchor', (d) => (d.children ? 'end' : 'start'))
+ .text((d) => {
+ const label = (d.data as any).name;
+ return label.length > 20 ? label.slice(0, 17) + '...' : label;
+ });
// reset transform
g.attr('transform', 'translate(0, 0)');
@@ -134,10 +140,13 @@ export class RouterTreeComponent implements AfterViewInit {
const svgRect = this.svgContainer.nativeElement.getBoundingClientRect();
const gElRect = this.g.nativeElement.getBoundingClientRect();
- g.attr('transform', `translate(
+ g.attr(
+ 'transform',
+ `translate(
${svgRect.left - gElRect.left + svgPadding},
${svgRect.top - gElRect.top + svgPadding}
- )`);
+ )`,
+ );
const height = gElRect.height + svgPadding * 2;
const width = gElRect.width + svgPadding * 2;
svg.attr('height', height).attr('width', width);
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.module.ts
index dce99886c9c..a65c0124828 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.module.ts
@@ -18,5 +18,4 @@ import {RouterTreeComponent} from './router-tree.component';
imports: [CommonModule, MatDialogModule, MatSelectModule],
exports: [RouterTreeComponent],
})
-export class RouterTreeModule {
-}
+export class RouterTreeModule {}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools.component.ts b/devtools/projects/ng-devtools/src/lib/devtools.component.ts
index 719999c30cd..1f8ed7b93ae 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools.component.ts
@@ -20,17 +20,15 @@ import {ThemeService} from './theme-service';
templateUrl: './devtools.component.html',
styleUrls: ['./devtools.component.scss'],
animations: [
- trigger(
- 'enterAnimation',
- [
- transition(':enter', [style({opacity: 0}), animate('200ms', style({opacity: 1}))]),
- transition(':leave', [style({opacity: 1}), animate('200ms', style({opacity: 0}))]),
- ]),
+ trigger('enterAnimation', [
+ transition(':enter', [style({opacity: 0}), animate('200ms', style({opacity: 1}))]),
+ transition(':leave', [style({opacity: 1}), animate('200ms', style({opacity: 0}))]),
+ ]),
],
})
export class DevToolsComponent implements OnInit, OnDestroy {
- angularExists: boolean|null = null;
- angularVersion: string|boolean|undefined = undefined;
+ angularExists: boolean | null = null;
+ angularVersion: string | boolean | undefined = undefined;
angularIsInDevMode = true;
ivy!: boolean;
@@ -38,8 +36,11 @@ export class DevToolsComponent implements OnInit, OnDestroy {
private readonly _chromeStyleName = 'chrome_styles.css';
constructor(
- private _messageBus: MessageBus, private _themeService: ThemeService,
- private _platform: Platform, @Inject(DOCUMENT) private _document: Document) {}
+ private _messageBus: MessageBus,
+ private _themeService: ThemeService,
+ private _platform: Platform,
+ @Inject(DOCUMENT) private _document: Document,
+ ) {}
private _interval$ = interval(500).subscribe((attempt) => {
if (attempt === 10) {
@@ -59,8 +60,9 @@ export class DevToolsComponent implements OnInit, OnDestroy {
this._interval$.unsubscribe();
});
- const browserStyleName =
- this._platform.FIREFOX ? this._firefoxStyleName : this._chromeStyleName;
+ const browserStyleName = this._platform.FIREFOX
+ ? this._firefoxStyleName
+ : this._chromeStyleName;
this._loadStyle(browserStyleName);
}
diff --git a/devtools/projects/ng-devtools/src/lib/devtools.module.ts b/devtools/projects/ng-devtools/src/lib/devtools.module.ts
index 1fadc433ec7..d5d6941a843 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools.module.ts
@@ -19,5 +19,4 @@ import {DevToolsComponent} from './devtools.component';
imports: [CommonModule, DevToolsTabModule, MatProgressSpinnerModule, MatTooltipModule],
exports: [DevToolsComponent],
})
-export class DevToolsModule {
-}
+export class DevToolsModule {}
diff --git a/devtools/projects/ng-devtools/src/lib/theme-service.ts b/devtools/projects/ng-devtools/src/lib/theme-service.ts
index a394508af54..906ae3dc172 100644
--- a/devtools/projects/ng-devtools/src/lib/theme-service.ts
+++ b/devtools/projects/ng-devtools/src/lib/theme-service.ts
@@ -9,7 +9,7 @@
import {Injectable, Renderer2, RendererFactory2} from '@angular/core';
import {ReplaySubject, Subject} from 'rxjs';
-export type Theme = 'dark-theme'|'light-theme';
+export type Theme = 'dark-theme' | 'light-theme';
@Injectable({
providedIn: 'root',
diff --git a/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/interface.ts b/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/interface.ts
index 175b49a2d51..4f6942cfb70 100644
--- a/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/interface.ts
+++ b/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/interface.ts
@@ -10,9 +10,9 @@ export interface IPoint {
export interface IArea {
component: SplitAreaDirective;
order: number;
- size: number|null;
- minSize: number|null;
- maxSize: number|null;
+ size: number | null;
+ minSize: number | null;
+ maxSize: number | null;
}
// CREATED ON DRAG START
@@ -53,4 +53,4 @@ export interface IOutputData {
sizes: IOutputAreaSizes;
}
-export interface IOutputAreaSizes extends Array {}
+export interface IOutputAreaSizes extends Array {}
diff --git a/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/split.component.ts b/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/split.component.ts
index d7b795a1eca..0fda04568c4 100644
--- a/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/split.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/split.component.ts
@@ -1,11 +1,42 @@
// tslint:disable
-import {AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output, QueryList, Renderer2, ViewChildren,} from '@angular/core';
+import {
+ AfterViewInit,
+ ChangeDetectionStrategy,
+ ChangeDetectorRef,
+ Component,
+ ElementRef,
+ EventEmitter,
+ Input,
+ NgZone,
+ OnDestroy,
+ Output,
+ QueryList,
+ Renderer2,
+ ViewChildren,
+} from '@angular/core';
import {Observable, Subject, Subscriber} from 'rxjs';
import {debounceTime} from 'rxjs/operators';
-import {IArea, IAreaSnapshot, IOutputAreaSizes, IOutputData, IPoint, ISplitSnapshot} from './interface';
+import {
+ IArea,
+ IAreaSnapshot,
+ IOutputAreaSizes,
+ IOutputData,
+ IPoint,
+ ISplitSnapshot,
+} from './interface';
import {SplitAreaDirective} from './splitArea.directive';
-import {getAreaMaxSize, getAreaMinSize, getElementPixelSize, getGutterSideAbsorptionCapacity, getInputBoolean, getInputPositiveNumber, getPointFromEvent, isUserSizesValid, updateAreaSize,} from './utils';
+import {
+ getAreaMaxSize,
+ getAreaMinSize,
+ getElementPixelSize,
+ getGutterSideAbsorptionCapacity,
+ getInputBoolean,
+ getInputPositiveNumber,
+ getPointFromEvent,
+ isUserSizesValid,
+ updateAreaSize,
+} from './utils';
/**
* angular-split
@@ -47,58 +78,59 @@ import {getAreaMaxSize, getAreaMinSize, getElementPixelSize, getGutterSideAbsorp
changeDetection: ChangeDetectionStrategy.OnPush,
styleUrls: [`./split.component.scss`],
template: `
- @for (_ of displayedAreas; track $index) {
- @if ($last === false) {
-
- }
- }`,
+ @for (_ of displayedAreas; track $index) { @if ($last === false) {
+
+ } }`,
})
export class SplitComponent implements AfterViewInit, OnDestroy {
- private _direction: 'horizontal'|'vertical' = 'horizontal';
+ private _direction: 'horizontal' | 'vertical' = 'horizontal';
@Input()
- set direction(v: 'horizontal'|'vertical') {
+ set direction(v: 'horizontal' | 'vertical') {
this._direction = v === 'vertical' ? 'vertical' : 'horizontal';
this.renderer.addClass(this.elRef.nativeElement, `as-${this._direction}`);
this.renderer.removeClass(
- this.elRef.nativeElement,
- `as-${this._direction === 'vertical' ? 'horizontal' : 'vertical'}`);
+ this.elRef.nativeElement,
+ `as-${this._direction === 'vertical' ? 'horizontal' : 'vertical'}`,
+ );
this.build(false, false);
}
- get direction(): 'horizontal'|'vertical' {
+ get direction(): 'horizontal' | 'vertical' {
return this._direction;
}
////
- private _unit: 'percent'|'pixel' = 'percent';
+ private _unit: 'percent' | 'pixel' = 'percent';
@Input()
- set unit(v: 'percent'|'pixel') {
+ set unit(v: 'percent' | 'pixel') {
this._unit = v === 'pixel' ? 'pixel' : 'percent';
this.renderer.addClass(this.elRef.nativeElement, `as-${this._unit}`);
this.renderer.removeClass(
- this.elRef.nativeElement, `as-${this._unit === 'pixel' ? 'percent' : 'pixel'}`);
+ this.elRef.nativeElement,
+ `as-${this._unit === 'pixel' ? 'percent' : 'pixel'}`,
+ );
this.build(false, true);
}
- get unit(): 'percent'|'pixel' {
+ get unit(): 'percent' | 'pixel' {
return this._unit;
}
@@ -107,13 +139,13 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
private _gutterSize: number = 11;
@Input()
- set gutterSize(v: number|null) {
+ set gutterSize(v: number | null) {
this._gutterSize = getInputPositiveNumber(v, 11);
this.build(false, false);
}
- get gutterSize(): number|null {
+ get gutterSize(): number | null {
return this._gutterSize;
}
@@ -151,10 +183,8 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
set useTransition(v: boolean) {
this._useTransition = getInputBoolean(v);
- if (this._useTransition)
- this.renderer.addClass(this.elRef.nativeElement, 'as-transition');
- else
- this.renderer.removeClass(this.elRef.nativeElement, 'as-transition');
+ if (this._useTransition) this.renderer.addClass(this.elRef.nativeElement, 'as-transition');
+ else this.renderer.removeClass(this.elRef.nativeElement, 'as-transition');
}
get useTransition(): boolean {
@@ -169,10 +199,8 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
set disabled(v: boolean) {
this._disabled = getInputBoolean(v);
- if (this._disabled)
- this.renderer.addClass(this.elRef.nativeElement, 'as-disabled');
- else
- this.renderer.removeClass(this.elRef.nativeElement, 'as-disabled');
+ if (this._disabled) this.renderer.addClass(this.elRef.nativeElement, 'as-disabled');
+ else this.renderer.removeClass(this.elRef.nativeElement, 'as-disabled');
}
get disabled(): boolean {
@@ -181,16 +209,16 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
////
- private _dir: 'ltr'|'rtl' = 'ltr';
+ private _dir: 'ltr' | 'rtl' = 'ltr';
@Input()
- set dir(v: 'ltr'|'rtl') {
+ set dir(v: 'ltr' | 'rtl') {
this._dir = v === 'rtl' ? 'rtl' : 'ltr';
this.renderer.setAttribute(this.elRef.nativeElement, 'dir', this._dir);
}
- get dir(): 'ltr'|'rtl' {
+ get dir(): 'ltr' | 'rtl' {
return this._dir;
}
@@ -214,11 +242,12 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
@Output() gutterClick = new EventEmitter(false);
@Output() gutterDblClick = new EventEmitter(false);
- private transitionEndSubscriber: Subscriber|null = null;
+ private transitionEndSubscriber: Subscriber | null = null;
@Output()
get transitionEnd(): Observable {
- return new Observable((subscriber) => (this.transitionEndSubscriber = subscriber))
- .pipe(debounceTime(20));
+ return new Observable((subscriber) => (this.transitionEndSubscriber = subscriber)).pipe(
+ debounceTime(20),
+ );
}
private dragProgressSubject: Subject = new Subject();
@@ -228,9 +257,9 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
private isDragging: boolean = false;
private dragListeners: Array = [];
- private snapshot: ISplitSnapshot|null = null;
- private startPoint: IPoint|null = null;
- private endPoint: IPoint|null = null;
+ private snapshot: ISplitSnapshot | null = null;
+ private startPoint: IPoint | null = null;
+ private endPoint: IPoint | null = null;
public readonly displayedAreas: Array = [];
private readonly hidedAreas: Array = [];
@@ -238,8 +267,11 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
@ViewChildren('gutterEls') private gutterEls!: QueryList;
constructor(
- private ngZone: NgZone, private elRef: ElementRef, private cdRef: ChangeDetectorRef,
- private renderer: Renderer2) {
+ private ngZone: NgZone,
+ private elRef: ElementRef,
+ private cdRef: ChangeDetectorRef,
+ private renderer: Renderer2,
+ ) {
// To force adding default class, could be override by user @Input() or not
this.direction = this._direction;
}
@@ -285,8 +317,11 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
}
}
- public updateArea(component: SplitAreaDirective, resetOrders: boolean, resetSizes: boolean):
- void {
+ public updateArea(
+ component: SplitAreaDirective,
+ resetOrders: boolean,
+ resetSizes: boolean,
+ ): void {
if (component.visible === true) {
this.build(resetOrders, resetSizes);
}
@@ -364,8 +399,10 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
// ¤ AREAS SIZE
if (resetSizes === true) {
- const useUserSizes =
- isUserSizesValid(this.unit, this.displayedAreas.map((a) => a.component.size));
+ const useUserSizes = isUserSizesValid(
+ this.unit,
+ this.displayedAreas.map((a) => a.component.size),
+ );
switch (this.unit) {
case 'percent': {
@@ -445,9 +482,12 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
this.displayedAreas.forEach((area) => {
area.component.setStyleFlex(
- 0, 0, `calc( ${area.size}% - ${(area.size / 100) * sumGutterSize}px )`,
- area.minSize !== null && area.minSize === area.size ? true : false,
- area.maxSize !== null && area.maxSize === area.size ? true : false);
+ 0,
+ 0,
+ `calc( ${area.size}% - ${(area.size / 100) * sumGutterSize}px )`,
+ area.minSize !== null && area.minSize === area.size ? true : false,
+ area.maxSize !== null && area.maxSize === area.size ? true : false,
+ );
});
}
}
@@ -472,24 +512,30 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
// Multiple areas > use each pixel basis
else {
area.component.setStyleFlex(
- 0, 0, `${area.size}px`,
- area.minSize !== null && area.minSize === area.size ? true : false,
- area.maxSize !== null && area.maxSize === area.size ? true : false);
+ 0,
+ 0,
+ `${area.size}px`,
+ area.minSize !== null && area.minSize === area.size ? true : false,
+ area.maxSize !== null && area.maxSize === area.size ? true : false,
+ );
}
}
});
}
}
- _clickTimeout: number|null = null;
+ _clickTimeout: number | null = null;
- public clickGutter(event: MouseEvent|TouchEvent, gutterNum: number): void {
+ public clickGutter(event: MouseEvent | TouchEvent, gutterNum: number): void {
const tempPoint = getPointFromEvent(event);
// Be sure mouseup/touchend happened at same point as mousedown/touchstart to trigger
// click/dblclick
- if (this.startPoint && this.startPoint.x === tempPoint!.x &&
- this.startPoint.y === tempPoint!.y) {
+ if (
+ this.startPoint &&
+ this.startPoint.x === tempPoint!.x &&
+ this.startPoint.y === tempPoint!.y
+ ) {
// If timeout in progress and new click > clearTimeout & dblClickEvent
if (this._clickTimeout !== null) {
window.clearTimeout(this._clickTimeout);
@@ -508,7 +554,11 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
}
}
- public startDragging(event: MouseEvent|TouchEvent, gutterOrder: number, gutterNum: number): void {
+ public startDragging(
+ event: MouseEvent | TouchEvent,
+ gutterOrder: number,
+ gutterNum: number,
+ ): void {
event.preventDefault();
event.stopPropagation();
@@ -521,7 +571,7 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
gutterNum,
lastSteppedOffset: 0,
allAreasSizePixel:
- getElementPixelSize(this.elRef, this.direction) - this.getNbGutters() * this.gutterSize!,
+ getElementPixelSize(this.elRef, this.direction) - this.getNbGutters() * this.gutterSize!,
allInvolvedAreasSizePercent: 100,
areasBeforeGutter: [],
areasAfterGutter: [],
@@ -531,8 +581,7 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
const areaSnapshot: IAreaSnapshot = {
area,
sizePixelAtStart: getElementPixelSize(area.component.elRef, this.direction),
- sizePercentAtStart: (this.unit === 'percent' ? area.size : -1) as
- number, // If pixel mode, anyway, will not be used.
+ sizePercentAtStart: (this.unit === 'percent' ? area.size : -1) as number, // If pixel mode, anyway, will not be used.
};
if (area.order < gutterOrder) {
@@ -556,23 +605,30 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
...this.snapshot.areasAfterGutter,
].reduce((t, a) => t + a.sizePercentAtStart, 0);
- if (this.snapshot.areasBeforeGutter.length === 0 ||
- this.snapshot.areasAfterGutter.length === 0) {
+ if (
+ this.snapshot.areasBeforeGutter.length === 0 ||
+ this.snapshot.areasAfterGutter.length === 0
+ ) {
return;
}
this.dragListeners.push(
- this.renderer.listen('document', 'mouseup', this.stopDragging.bind(this)));
+ this.renderer.listen('document', 'mouseup', this.stopDragging.bind(this)),
+ );
this.dragListeners.push(
- this.renderer.listen('document', 'touchend', this.stopDragging.bind(this)));
+ this.renderer.listen('document', 'touchend', this.stopDragging.bind(this)),
+ );
this.dragListeners.push(
- this.renderer.listen('document', 'touchcancel', this.stopDragging.bind(this)));
+ this.renderer.listen('document', 'touchcancel', this.stopDragging.bind(this)),
+ );
this.ngZone.runOutsideAngular(() => {
this.dragListeners.push(
- this.renderer.listen('document', 'mousemove', this.dragEvent.bind(this)));
+ this.renderer.listen('document', 'mousemove', this.dragEvent.bind(this)),
+ );
this.dragListeners.push(
- this.renderer.listen('document', 'touchmove', this.dragEvent.bind(this)));
+ this.renderer.listen('document', 'touchmove', this.dragEvent.bind(this)),
+ );
});
this.displayedAreas.forEach((area) => area.component.lockEvents());
@@ -580,12 +636,14 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
this.isDragging = true;
this.renderer.addClass(this.elRef.nativeElement, 'as-dragging');
this.renderer.addClass(
- this.gutterEls.toArray()[this.snapshot.gutterNum - 1].nativeElement, 'as-dragged');
+ this.gutterEls.toArray()[this.snapshot.gutterNum - 1].nativeElement,
+ 'as-dragged',
+ );
this.notify('start', this.snapshot.gutterNum);
}
- private dragEvent(event: MouseEvent|TouchEvent): void {
+ private dragEvent(event: MouseEvent | TouchEvent): void {
event.preventDefault();
event.stopPropagation();
@@ -605,8 +663,10 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
// Calculate steppedOffset
- let offset = this.direction === 'horizontal' ? this.startPoint!.x - this.endPoint.x :
- this.startPoint!.y - this.endPoint.y;
+ let offset =
+ this.direction === 'horizontal'
+ ? this.startPoint!.x - this.endPoint.x
+ : this.startPoint!.y - this.endPoint.y;
if (this.dir === 'rtl') {
offset = -offset;
}
@@ -621,38 +681,56 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
// Need to know if each gutter side areas could reacts to steppedOffset
let areasBefore = getGutterSideAbsorptionCapacity(
- this.unit, this.snapshot!.areasBeforeGutter, -steppedOffset,
- this.snapshot!.allAreasSizePixel);
+ this.unit,
+ this.snapshot!.areasBeforeGutter,
+ -steppedOffset,
+ this.snapshot!.allAreasSizePixel,
+ );
let areasAfter = getGutterSideAbsorptionCapacity(
- this.unit, this.snapshot!.areasAfterGutter, steppedOffset,
- this.snapshot!.allAreasSizePixel);
+ this.unit,
+ this.snapshot!.areasAfterGutter,
+ steppedOffset,
+ this.snapshot!.allAreasSizePixel,
+ );
// Each gutter side areas can't absorb all offset
if (areasBefore.remain !== 0 && areasAfter.remain !== 0) {
if (Math.abs(areasBefore.remain) === Math.abs(areasAfter.remain)) {
} else if (Math.abs(areasBefore.remain) > Math.abs(areasAfter.remain)) {
areasAfter = getGutterSideAbsorptionCapacity(
- this.unit, this.snapshot!.areasAfterGutter, steppedOffset + areasBefore.remain,
- this.snapshot!.allAreasSizePixel);
+ this.unit,
+ this.snapshot!.areasAfterGutter,
+ steppedOffset + areasBefore.remain,
+ this.snapshot!.allAreasSizePixel,
+ );
} else {
areasBefore = getGutterSideAbsorptionCapacity(
- this.unit, this.snapshot!.areasBeforeGutter, -(steppedOffset - areasAfter.remain),
- this.snapshot!.allAreasSizePixel);
+ this.unit,
+ this.snapshot!.areasBeforeGutter,
+ -(steppedOffset - areasAfter.remain),
+ this.snapshot!.allAreasSizePixel,
+ );
}
}
// Areas before gutter can't absorbs all offset > need to recalculate sizes for areas after
// gutter.
else if (areasBefore.remain !== 0) {
areasAfter = getGutterSideAbsorptionCapacity(
- this.unit, this.snapshot!.areasAfterGutter, steppedOffset + areasBefore.remain,
- this.snapshot!.allAreasSizePixel);
+ this.unit,
+ this.snapshot!.areasAfterGutter,
+ steppedOffset + areasBefore.remain,
+ this.snapshot!.allAreasSizePixel,
+ );
}
// Areas after gutter can't absorbs all offset > need to recalculate sizes for areas before
// gutter.
else if (areasAfter.remain !== 0) {
areasBefore = getGutterSideAbsorptionCapacity(
- this.unit, this.snapshot!.areasBeforeGutter, -(steppedOffset - areasAfter.remain),
- this.snapshot!.allAreasSizePixel);
+ this.unit,
+ this.snapshot!.areasBeforeGutter,
+ -(steppedOffset - areasAfter.remain),
+ this.snapshot!.allAreasSizePixel,
+ );
}
if (this.unit === 'percent') {
@@ -661,14 +739,18 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
// to 99.99875% then 99.99286%, 99.98986%,..
const all = [...areasBefore.list, ...areasAfter.list];
const areaToReset = all.find(
- (a) => a.percentAfterAbsorption !== 0 &&
- a.percentAfterAbsorption !== a.areaSnapshot.area.minSize &&
- a.percentAfterAbsorption !== a.areaSnapshot.area.maxSize);
+ (a) =>
+ a.percentAfterAbsorption !== 0 &&
+ a.percentAfterAbsorption !== a.areaSnapshot.area.minSize &&
+ a.percentAfterAbsorption !== a.areaSnapshot.area.maxSize,
+ );
if (areaToReset) {
- areaToReset.percentAfterAbsorption = this.snapshot!.allInvolvedAreasSizePercent -
- all.filter((a) => a !== areaToReset)
- .reduce((total, a) => total + a.percentAfterAbsorption, 0);
+ areaToReset.percentAfterAbsorption =
+ this.snapshot!.allInvolvedAreasSizePercent -
+ all
+ .filter((a) => a !== areaToReset)
+ .reduce((total, a) => total + a.percentAfterAbsorption, 0);
}
}
@@ -703,14 +785,18 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
this.isDragging = false;
// If moved from starting point, notify end
- if (this.endPoint &&
- (this.startPoint!.x !== this.endPoint.x || this.startPoint!.y !== this.endPoint.y)) {
+ if (
+ this.endPoint &&
+ (this.startPoint!.x !== this.endPoint.x || this.startPoint!.y !== this.endPoint.y)
+ ) {
this.notify('end', this.snapshot!.gutterNum);
}
this.renderer.removeClass(this.elRef.nativeElement, 'as-dragging');
this.renderer.removeClass(
- this.gutterEls.toArray()[this.snapshot!.gutterNum - 1].nativeElement, 'as-dragged');
+ this.gutterEls.toArray()[this.snapshot!.gutterNum - 1].nativeElement,
+ 'as-dragged',
+ );
this.snapshot = null;
// Needed to let (click)="clickGutter(...)" event run and verify if mouse moved or not
@@ -723,7 +809,9 @@ export class SplitComponent implements AfterViewInit, OnDestroy {
}
public notify(
- type: 'start'|'progress'|'end'|'click'|'dblclick'|'transitionEnd', gutterNum: number): void {
+ type: 'start' | 'progress' | 'end' | 'click' | 'dblclick' | 'transitionEnd',
+ gutterNum: number,
+ ): void {
const sizes = this.getVisibleAreaSizes();
if (type === 'start') {
diff --git a/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/split.module.ts b/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/split.module.ts
index b9184967419..e4d2c4b8259 100644
--- a/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/split.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/split.module.ts
@@ -9,5 +9,4 @@ import {SplitAreaDirective} from './splitArea.directive';
declarations: [SplitAreaDirective, SplitComponent],
exports: [SplitAreaDirective, SplitComponent],
})
-export class SplitModule {
-}
+export class SplitModule {}
diff --git a/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/splitArea.directive.ts b/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/splitArea.directive.ts
index 09e75804ac2..25d24766114 100644
--- a/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/splitArea.directive.ts
+++ b/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/splitArea.directive.ts
@@ -11,61 +11,61 @@ import {getInputBoolean, getInputPositiveNumber} from './utils';
exportAs: 'asSplitArea',
})
export class SplitAreaDirective implements OnInit, OnDestroy {
- private _order: number|null = null;
+ private _order: number | null = null;
@Input()
- set order(v: number|null) {
+ set order(v: number | null) {
this._order = getInputPositiveNumber(v, null);
this.split.updateArea(this, true, false);
}
- get order(): number|null {
+ get order(): number | null {
return this._order;
}
////
- private _size: number|null = null;
+ private _size: number | null = null;
@Input()
- set size(v: number|null) {
+ set size(v: number | null) {
this._size = getInputPositiveNumber(v, null);
this.split.updateArea(this, false, true);
}
- get size(): number|null {
+ get size(): number | null {
return this._size;
}
////
- private _minSize: number|null = null;
+ private _minSize: number | null = null;
@Input()
- set minSize(v: number|null) {
+ set minSize(v: number | null) {
this._minSize = getInputPositiveNumber(v, null);
this.split.updateArea(this, false, true);
}
- get minSize(): number|null {
+ get minSize(): number | null {
return this._minSize;
}
////
- private _maxSize: number|null = null;
+ private _maxSize: number | null = null;
@Input()
- set maxSize(v: number|null) {
+ set maxSize(v: number | null) {
this._maxSize = getInputPositiveNumber(v, null);
this.split.updateArea(this, false, true);
}
- get maxSize(): number|null {
+ get maxSize(): number | null {
return this._maxSize;
}
@@ -111,8 +111,11 @@ export class SplitAreaDirective implements OnInit, OnDestroy {
private readonly lockListeners: Array = [];
constructor(
- private ngZone: NgZone, public elRef: ElementRef, private renderer: Renderer2,
- private split: SplitComponent) {
+ private ngZone: NgZone,
+ public elRef: ElementRef,
+ private renderer: Renderer2,
+ private split: SplitComponent,
+ ) {
this.renderer.addClass(this.elRef.nativeElement, 'as-split-area');
}
@@ -121,12 +124,15 @@ export class SplitAreaDirective implements OnInit, OnDestroy {
this.ngZone.runOutsideAngular(() => {
this.transitionListener = this.renderer.listen(
- this.elRef.nativeElement, 'transitionend', (event: TransitionEvent) => {
- // Limit only flex-basis transition to trigger the event
- if (event.propertyName === 'flex-basis') {
- this.split.notify('transitionEnd', -1);
- }
- });
+ this.elRef.nativeElement,
+ 'transitionend',
+ (event: TransitionEvent) => {
+ // Limit only flex-basis transition to trigger the event
+ if (event.propertyName === 'flex-basis') {
+ this.split.notify('transitionEnd', -1);
+ }
+ },
+ );
});
}
@@ -134,31 +140,34 @@ export class SplitAreaDirective implements OnInit, OnDestroy {
this.renderer.setStyle(this.elRef.nativeElement, 'order', value);
}
- public setStyleFlex(grow: number, shrink: number, basis: string, isMin: boolean, isMax: boolean):
- void {
+ public setStyleFlex(
+ grow: number,
+ shrink: number,
+ basis: string,
+ isMin: boolean,
+ isMax: boolean,
+ ): void {
// Need 3 separated properties to work on IE11
// (https://github.com/angular/flex-layout/issues/323)
this.renderer.setStyle(this.elRef.nativeElement, 'flex-grow', grow);
this.renderer.setStyle(this.elRef.nativeElement, 'flex-shrink', shrink);
this.renderer.setStyle(this.elRef.nativeElement, 'flex-basis', basis);
- if (isMin === true)
- this.renderer.addClass(this.elRef.nativeElement, 'as-min');
- else
- this.renderer.removeClass(this.elRef.nativeElement, 'as-min');
+ if (isMin === true) this.renderer.addClass(this.elRef.nativeElement, 'as-min');
+ else this.renderer.removeClass(this.elRef.nativeElement, 'as-min');
- if (isMax === true)
- this.renderer.addClass(this.elRef.nativeElement, 'as-max');
- else
- this.renderer.removeClass(this.elRef.nativeElement, 'as-max');
+ if (isMax === true) this.renderer.addClass(this.elRef.nativeElement, 'as-max');
+ else this.renderer.removeClass(this.elRef.nativeElement, 'as-max');
}
public lockEvents(): void {
this.ngZone.runOutsideAngular(() => {
this.lockListeners.push(
- this.renderer.listen(this.elRef.nativeElement, 'selectstart', (e: Event) => false));
+ this.renderer.listen(this.elRef.nativeElement, 'selectstart', (e: Event) => false),
+ );
this.lockListeners.push(
- this.renderer.listen(this.elRef.nativeElement, 'dragstart', (e: Event) => false));
+ this.renderer.listen(this.elRef.nativeElement, 'dragstart', (e: Event) => false),
+ );
});
}
diff --git a/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/utils.ts b/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/utils.ts
index 0aceef068de..3abd266ce68 100644
--- a/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/utils.ts
+++ b/devtools/projects/ng-devtools/src/lib/vendor/angular-split/lib/component/utils.ts
@@ -1,12 +1,20 @@
// tslint:disable
import {ElementRef} from '@angular/core';
-import {IArea, IAreaAbsorptionCapacity, IAreaSnapshot, IPoint, ISplitSideAbsorptionCapacity} from './interface';
+import {
+ IArea,
+ IAreaAbsorptionCapacity,
+ IAreaSnapshot,
+ IPoint,
+ ISplitSideAbsorptionCapacity,
+} from './interface';
-export function getPointFromEvent(event: MouseEvent|TouchEvent): IPoint|null {
+export function getPointFromEvent(event: MouseEvent | TouchEvent): IPoint | null {
// TouchEvent
- if ((event).changedTouches !== undefined &&
- (event).changedTouches.length > 0) {
+ if (
+ (event).changedTouches !== undefined &&
+ (event).changedTouches.length > 0
+ ) {
return {
x: (event).changedTouches[0].clientX,
y: (event).changedTouches[0].clientY,
@@ -22,7 +30,10 @@ export function getPointFromEvent(event: MouseEvent|TouchEvent): IPoint|null {
return null;
}
-export function getElementPixelSize(elRef: ElementRef, direction: 'horizontal'|'vertical'): number {
+export function getElementPixelSize(
+ elRef: ElementRef,
+ direction: 'horizontal' | 'vertical',
+): number {
const rect = (elRef.nativeElement).getBoundingClientRect();
return direction === 'horizontal' ? rect.width : rect.height;
@@ -32,15 +43,17 @@ export function getInputBoolean(v: any): boolean {
return typeof v === 'boolean' ? v : v === 'false' ? false : true;
}
-export function getInputPositiveNumber(v: any, defaultValue: T): number|T {
+export function getInputPositiveNumber(v: any, defaultValue: T): number | T {
if (v === null || v === undefined) return defaultValue;
v = Number(v);
return !isNaN(v) && v >= 0 ? v : defaultValue;
}
-export function isUserSizesValid(unit: 'percent'|'pixel', sizes: Array): boolean|
- undefined|void {
+export function isUserSizesValid(
+ unit: 'percent' | 'pixel',
+ sizes: Array,
+): boolean | undefined | void {
// All sizes have to be not null and total should be 100
if (unit === 'percent') {
const total = sizes.reduce((total, s) => (s !== null ? total! + s : total), 0);
@@ -53,7 +66,7 @@ export function isUserSizesValid(unit: 'percent'|'pixel', sizes: Array, pixels: number,
- allAreasSizePixel: number): ISplitSideAbsorptionCapacity {
- return sideAreas.reduce((acc, area) => {
- const res = getAreaAbsorptionCapacity(unit, area, acc.remain, allAreasSizePixel);
- (acc.list as any).push(res);
- acc.remain = res!.pixelRemain;
- return acc;
- }, {remain: pixels, list: []});
+ unit: 'percent' | 'pixel',
+ sideAreas: Array,
+ pixels: number,
+ allAreasSizePixel: number,
+): ISplitSideAbsorptionCapacity {
+ return sideAreas.reduce(
+ (acc, area) => {
+ const res = getAreaAbsorptionCapacity(unit, area, acc.remain, allAreasSizePixel);
+ (acc.list as any).push(res);
+ acc.remain = res!.pixelRemain;
+ return acc;
+ },
+ {remain: pixels, list: []},
+ );
}
function getAreaAbsorptionCapacity(
- unit: 'percent'|'pixel', areaSnapshot: IAreaSnapshot, pixels: number,
- allAreasSizePixel: number): IAreaAbsorptionCapacity|undefined|void {
+ unit: 'percent' | 'pixel',
+ areaSnapshot: IAreaSnapshot,
+ pixels: number,
+ allAreasSizePixel: number,
+): IAreaAbsorptionCapacity | undefined | void {
// No pain no gain
if (pixels === 0) {
return {
@@ -137,8 +159,10 @@ function getAreaAbsorptionCapacity(
}
function getAreaAbsorptionCapacityPercent(
- areaSnapshot: IAreaSnapshot, pixels: number,
- allAreasSizePixel: number): IAreaAbsorptionCapacity|undefined|void {
+ areaSnapshot: IAreaSnapshot,
+ pixels: number,
+ allAreasSizePixel: number,
+): IAreaAbsorptionCapacity | undefined | void {
const tempPixelSize = areaSnapshot.sizePixelAtStart + pixels;
const tempPercentSize = (tempPixelSize / allAreasSizePixel) * 100;
@@ -197,8 +221,10 @@ function getAreaAbsorptionCapacityPercent(
}
function getAreaAbsorptionCapacityPixel(
- areaSnapshot: IAreaSnapshot, pixels: number,
- containerSizePixel: number): IAreaAbsorptionCapacity|undefined|void {
+ areaSnapshot: IAreaSnapshot,
+ pixels: number,
+ containerSizePixel: number,
+): IAreaAbsorptionCapacity | undefined | void {
const tempPixelSize = areaSnapshot.sizePixelAtStart + pixels;
// ENLARGE AREA
@@ -250,7 +276,7 @@ function getAreaAbsorptionCapacityPixel(
}
}
-export function updateAreaSize(unit: 'percent'|'pixel', item: IAreaAbsorptionCapacity) {
+export function updateAreaSize(unit: 'percent' | 'pixel', item: IAreaAbsorptionCapacity) {
if (unit === 'percent') {
item.areaSnapshot.area.size = item.percentAfterAbsorption;
} else if (unit === 'pixel') {
diff --git a/devtools/projects/ng-devtools/src/lib/vendor/chromium/date-utilities.ts b/devtools/projects/ng-devtools/src/lib/vendor/chromium/date-utilities.ts
index f6cbc383f5c..e6dfb2b0c27 100644
--- a/devtools/projects/ng-devtools/src/lib/vendor/chromium/date-utilities.ts
+++ b/devtools/projects/ng-devtools/src/lib/vendor/chromium/date-utilities.ts
@@ -16,6 +16,12 @@ export const toISO8601Compact = (date: Date): string => {
}
return (
- date.getFullYear() + leadZero(date.getMonth() + 1) + leadZero(date.getDate()) + 'T' +
- leadZero(date.getHours()) + leadZero(date.getMinutes()) + leadZero(date.getSeconds()));
+ date.getFullYear() +
+ leadZero(date.getMonth() + 1) +
+ leadZero(date.getDate()) +
+ 'T' +
+ leadZero(date.getHours()) +
+ leadZero(date.getMinutes()) +
+ leadZero(date.getSeconds())
+ );
};
diff --git a/devtools/projects/ng-devtools/src/lib/vendor/memo-decorator/index.ts b/devtools/projects/ng-devtools/src/lib/vendor/memo-decorator/index.ts
index ea924ecd083..58eab0f9c67 100644
--- a/devtools/projects/ng-devtools/src/lib/vendor/memo-decorator/index.ts
+++ b/devtools/projects/ng-devtools/src/lib/vendor/memo-decorator/index.ts
@@ -12,7 +12,7 @@ export interface Config {
}
function memoize(func: Function, resolver: Resolver, cache: MapLike) {
- const memoized = function() {
+ const memoized = function () {
const args = arguments;
// @ts-ignore: ignore implicit any type
const key = resolver.apply(this, args);
@@ -33,15 +33,16 @@ function memoize(func: Function, resolver: Resolver, cache: MapLike) {
const defaultResolver: Resolver = (...args: any[]) => args[0];
-export const memo = (config: Config = {}) =>
- (_: any, __: string, descriptor: PropertyDescriptor): PropertyDescriptor => {
- if (typeof descriptor.value !== 'function') {
- throw new Error('Memoization can be applied only to methods');
- }
+export const memo =
+ (config: Config = {}) =>
+ (_: any, __: string, descriptor: PropertyDescriptor): PropertyDescriptor => {
+ if (typeof descriptor.value !== 'function') {
+ throw new Error('Memoization can be applied only to methods');
+ }
- const resolver = config.resolver ?? defaultResolver;
- const cache = config.cache ?? new Map();
+ const resolver = config.resolver ?? defaultResolver;
+ const cache = config.cache ?? new Map();
- descriptor.value = memoize(descriptor.value, resolver, cache);
- return descriptor;
- };
+ descriptor.value = memoize(descriptor.value, resolver, cache);
+ return descriptor;
+ };
diff --git a/devtools/projects/ng-devtools/src/lib/vendor/webtreemap/treemap.ts b/devtools/projects/ng-devtools/src/lib/vendor/webtreemap/treemap.ts
index 7cd67d47daa..a9ab6266628 100644
--- a/devtools/projects/ng-devtools/src/lib/vendor/webtreemap/treemap.ts
+++ b/devtools/projects/ng-devtools/src/lib/vendor/webtreemap/treemap.ts
@@ -68,7 +68,7 @@ export interface Options {
*/
function getNodeIndex(target: Element): number {
let index = 0;
- let node: Element|null = target;
+ let node: Element | null = target;
while ((node = node.previousElementSibling)) {
if (isDOMNode(node)) index++;
}
@@ -82,12 +82,12 @@ function getNodeIndex(target: Element): number {
*/
export function getAddress(el: Element): number[] {
let address: number[] = [];
- let n: Element|null = el;
+ let n: Element | null = el;
while (n && isDOMNode(n)) {
address.unshift(getNodeIndex(n));
n = n.parentElement;
}
- address.shift(); // The first element will be the root, index 0.
+ address.shift(); // The first element will be the root, index 0.
return address;
}
@@ -107,23 +107,26 @@ function defaultOptions(options: Partial): Options {
lowerBound: options.lowerBound === undefined ? 0.1 : options.lowerBound,
applyMutations: options.applyMutations || (() => null),
caption: options.caption || ((node: Node) => node.id || ''),
- showNode: options.showNode ||
- ((node: Node, width: number, height: number):
- boolean => {
- return width > 20 && height >= opts.padding[0];
- }),
- showChildren: options.showChildren ||
- ((node: Node, width: number, height: number):
- boolean => {
- return width > 40 && height > 40;
- }),
+ showNode:
+ options.showNode ||
+ ((node: Node, width: number, height: number): boolean => {
+ return width > 20 && height >= opts.padding[0];
+ }),
+ showChildren:
+ options.showChildren ||
+ ((node: Node, width: number, height: number): boolean => {
+ return width > 40 && height > 40;
+ }),
};
return opts;
}
export class TreeMap {
readonly options: Options;
- constructor(public node: Node, options: Partial) {
+ constructor(
+ public node: Node,
+ options: Partial,
+ ) {
this.options = defaultOptions(options);
}
@@ -155,10 +158,10 @@ export class TreeMap {
// Add rectangles one by one, stopping when aspect ratios begin to go
// bad. Result is [start,end) covering the best run for this span.
// http://scholar.google.com/scholar?cluster=5972512107845615474
- let smin = children[start].size; // Smallest seen child so far.
- let smax = smin; // Largest child.
- let sum = 0; // Sum of children in this span.
- let lastScore = 0; // Best score yet found.
+ let smin = children[start].size; // Smallest seen child so far.
+ let smax = smin; // Largest child.
+ let sum = 0; // Sum of children in this span.
+ let lastScore = 0; // Best score yet found.
let end = start;
for (; end < children.length; end++) {
const size = children[end].size;
@@ -188,8 +191,9 @@ export class TreeMap {
// Take the larger of these two ratios as the measure of the
// worst non-squarenesss.
const score = Math.max(
- (smax * space * space) / (nextSum * nextSum),
- (nextSum * nextSum) / (smin * space * space));
+ (smax * space * space) / (nextSum * nextSum),
+ (nextSum * nextSum) / (smin * space * space),
+ );
if (lastScore && score > lastScore) {
// Including this additional rectangle produces worse squareness than
// without it. We're done.
@@ -212,9 +216,12 @@ export class TreeMap {
// parent) and create each box 1px larger than necessary (to make
// adjoining borders overlap).
- let x1 = -1, y1 = -1, x2 = width - 1, y2 = height - 1;
+ let x1 = -1,
+ y1 = -1,
+ x2 = width - 1,
+ y2 = height - 1;
- const spacing = 0; // TODO: this.options.spacing;
+ const spacing = 0; // TODO: this.options.spacing;
const padding = this.options.padding;
y1 += padding[0];
if (padding[1]) {
@@ -228,8 +235,9 @@ export class TreeMap {
let i: number = 0;
if (this.options.showChildren(node, x2 - x1, y2 - y1)) {
const scale = Math.sqrt(total / ((x2 - x1) * (y2 - y1)));
- var x = x1, y = y1;
- children: for (let start = 0; start < children.length;) {
+ var x = x1,
+ y = y1;
+ children: for (let start = 0; start < children.length; ) {
x = x1;
const space = scale * (x2 - x1);
const {end, sum} = this.selectSpan(children, space, start);
@@ -284,7 +292,7 @@ export class TreeMap {
const width = container.offsetWidth;
const height = container.offsetHeight;
dom.onclick = (e) => {
- let node: Element|null = e.target as Element;
+ let node: Element | null = e.target as Element;
while (!isDOMNode(node)) {
node = node.parentElement;
if (!node) return;
diff --git a/devtools/projects/protocol/src/lib/message-bus.ts b/devtools/projects/protocol/src/lib/message-bus.ts
index f87408f3aee..e8158d4a204 100644
--- a/devtools/projects/protocol/src/lib/message-bus.ts
+++ b/devtools/projects/protocol/src/lib/message-bus.ts
@@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license
*/
-export type Parameters = F extends(...args: infer T) => any ? T : never;
+export type Parameters = F extends (...args: infer T) => any ? T : never;
export abstract class MessageBus {
abstract on(topic: E, cb: T[E]): void;
diff --git a/devtools/projects/protocol/src/lib/messages.ts b/devtools/projects/protocol/src/lib/messages.ts
index 54a6a6e814f..277bebc8c8a 100644
--- a/devtools/projects/protocol/src/lib/messages.ts
+++ b/devtools/projects/protocol/src/lib/messages.ts
@@ -22,7 +22,7 @@ export interface ComponentType {
export interface DevToolsNode {
element: string;
directives: DirType[];
- component: CmpType|null;
+ component: CmpType | null;
children: DevToolsNode[];
nativeElement?: Node;
resolutionPath?: SerializedInjector[];
@@ -38,10 +38,10 @@ export interface SerializedInjector {
export interface SerializedProviderRecord {
token: string;
- type: 'type'|'existing'|'class'|'value'|'factory'|'multi';
+ type: 'type' | 'existing' | 'class' | 'value' | 'factory' | 'multi';
multi: boolean;
isViewProvider: boolean;
- index?: number|number[];
+ index?: number | number[];
}
/**
@@ -49,13 +49,13 @@ export interface SerializedProviderRecord {
* needing to publicly expose the interface from the framework.
*/
export interface InjectedService {
- token?: Type|InjectionToken;
+ token?: Type | InjectionToken;
value: unknown;
flags?: InjectOptions;
providedIn: Injector;
}
-export type ContainerType = 'WritableSignal'|'ReadonlySignal'|null;
+export type ContainerType = 'WritableSignal' | 'ReadonlySignal' | null;
export enum PropType {
Number,
@@ -117,7 +117,7 @@ export interface DirectivePosition {
}
export interface NestedProp {
- name: string|number;
+ name: string | number;
children: NestedProp[];
}
@@ -139,7 +139,7 @@ export interface SelectedPropertiesQuery {
properties: ComponentExplorerViewProperties;
}
-export type PropertyQuery = AllPropertiesQuery|SelectedPropertiesQuery;
+export type PropertyQuery = AllPropertiesQuery | SelectedPropertiesQuery;
export interface ComponentExplorerViewQuery {
selectedElement: ElementPosition;
@@ -194,9 +194,9 @@ export interface UpdatedStateData {
export interface Route {
name: string;
- hash: string|null;
+ hash: string | null;
path: string;
- specificity: string|null;
+ specificity: string | null;
handler: string;
data: any;
children?: Array;
@@ -214,8 +214,11 @@ export interface Events {
handshake: () => void;
shutdown: () => void;
queryNgAvailability: () => void;
- ngAvailability:
- (config: {version: string|undefined|boolean; devMode: boolean; ivy: boolean}) => void;
+ ngAvailability: (config: {
+ version: string | undefined | boolean;
+ devMode: boolean;
+ ivy: boolean;
+ }) => void;
inspectorStart: () => void;
inspectorEnd: () => void;
@@ -250,8 +253,10 @@ export interface Events {
// todo: type properly
getInjectorProviders: (injector: SerializedInjector) => void;
- latestInjectorProviders:
- (injector: SerializedInjector, providers: SerializedProviderRecord[]) => void;
+ latestInjectorProviders: (
+ injector: SerializedInjector,
+ providers: SerializedProviderRecord[],
+ ) => void;
logProvider: (injector: SerializedInjector, providers: SerializedProviderRecord) => void;
}
diff --git a/devtools/projects/protocol/src/lib/priority-aware-message-bus.ts b/devtools/projects/protocol/src/lib/priority-aware-message-bus.ts
index 7d01fe33a4b..6ce72cd1680 100644
--- a/devtools/projects/protocol/src/lib/priority-aware-message-bus.ts
+++ b/devtools/projects/protocol/src/lib/priority-aware-message-bus.ts
@@ -52,7 +52,9 @@ export class PriorityAwareMessageBus extends MessageBus {
private _inProgress: TopicsInProgress = {};
constructor(
- private _bus: MessageBus, private _setTimeout: typeof setTimeout = setTimeout) {
+ private _bus: MessageBus,
+ private _setTimeout: typeof setTimeout = setTimeout,
+ ) {
super();
}
diff --git a/devtools/projects/shared-utils/src/lib/angular-check.spec.ts b/devtools/projects/shared-utils/src/lib/angular-check.spec.ts
index a861ebf42ec..f9d9188c433 100644
--- a/devtools/projects/shared-utils/src/lib/angular-check.spec.ts
+++ b/devtools/projects/shared-utils/src/lib/angular-check.spec.ts
@@ -6,10 +6,16 @@
* found in the LICENSE file at https://angular.io/license
*/
-import {appIsAngular, appIsAngularInDevMode, appIsAngularIvy, appIsSupportedAngularVersion, getAngularVersion,} from './angular-check';
+import {
+ appIsAngular,
+ appIsAngularInDevMode,
+ appIsAngularIvy,
+ appIsSupportedAngularVersion,
+ getAngularVersion,
+} from './angular-check';
const setNgVersion = (version = '12.0.0'): void =>
- document.documentElement.setAttribute('ng-version', version);
+ document.documentElement.setAttribute('ng-version', version);
const removeNgVersion = (): void => document.documentElement.removeAttribute('ng-version');
describe('angular-check', () => {
@@ -57,7 +63,7 @@ describe('angular-check', () => {
describe('appIsAngularIvy', () => {
it('should not recognize VE apps', () => {
(window as any).ng = {
- probe(): void{},
+ probe(): void {},
};
setNgVersion();
expect(appIsAngularIvy()).toBeFalse();
@@ -84,7 +90,7 @@ describe('angular-check', () => {
it('should detect VE apps', () => {
(window as any).ng = {
- probe(): void{},
+ probe(): void {},
};
setNgVersion();
@@ -93,7 +99,7 @@ describe('angular-check', () => {
it('should detect Ivy apps', () => {
(window as any).ng = {
- getComponent(): void{},
+ getComponent(): void {},
};
setNgVersion();
expect(appIsAngularInDevMode()).toBeTrue();
diff --git a/devtools/projects/shared-utils/src/lib/angular-check.ts b/devtools/projects/shared-utils/src/lib/angular-check.ts
index f7857bbc868..d87a929a07d 100644
--- a/devtools/projects/shared-utils/src/lib/angular-check.ts
+++ b/devtools/projects/shared-utils/src/lib/angular-check.ts
@@ -43,11 +43,13 @@ export const appIsSupportedAngularVersion = (): boolean => {
* @returns if the app has global ng debug object
*/
const appHasGlobalNgDebugObject = (): boolean => {
- return typeof ng === 'object' &&
- (typeof ng.getComponent === 'function' || typeof ng.probe === 'function');
+ return (
+ typeof ng === 'object' &&
+ (typeof ng.getComponent === 'function' || typeof ng.probe === 'function')
+ );
};
-export const getAngularVersion = (): string|null => {
+export const getAngularVersion = (): string | null => {
const el = document.querySelector('[ng-version]');
if (!el) {
return null;
diff --git a/devtools/projects/shared-utils/src/lib/shared-utils.ts b/devtools/projects/shared-utils/src/lib/shared-utils.ts
index bc203936b6a..0aa390125fd 100644
--- a/devtools/projects/shared-utils/src/lib/shared-utils.ts
+++ b/devtools/projects/shared-utils/src/lib/shared-utils.ts
@@ -7,21 +7,23 @@
*/
// works with arrays of string, numbers and booleans
-export const arrayEquals =
- (a: (string|number|boolean)[], b: (string|number|boolean)[]): boolean => {
- if (a.length !== b.length) {
- return false;
- }
- if (a.length === 0) {
- return b.length === 0;
- }
+export const arrayEquals = (
+ a: (string | number | boolean)[],
+ b: (string | number | boolean)[],
+): boolean => {
+ if (a.length !== b.length) {
+ return false;
+ }
+ if (a.length === 0) {
+ return b.length === 0;
+ }
- let equal;
- for (let i = 0; i < a.length; i++) {
- equal = i === 0 ? a[i] === b[i] : a[i] === b[i] && equal;
- if (!equal) {
- break;
- }
- }
- return equal ?? false;
- };
+ let equal;
+ for (let i = 0; i < a.length; i++) {
+ equal = i === 0 ? a[i] === b[i] : a[i] === b[i] && equal;
+ if (!equal) {
+ break;
+ }
+ }
+ return equal ?? false;
+};
diff --git a/devtools/projects/shell-browser/src/app/app.component.spec.ts b/devtools/projects/shell-browser/src/app/app.component.spec.ts
index 6e2625255ec..1f27bcb23b6 100644
--- a/devtools/projects/shell-browser/src/app/app.component.spec.ts
+++ b/devtools/projects/shell-browser/src/app/app.component.spec.ts
@@ -15,18 +15,16 @@ import {AppComponent} from './app.component';
describe('AppComponent', () => {
beforeEach(waitForAsync(() => {
const applicationOperationsSPy = jasmine.createSpyObj('messageBus', ['viewSource']);
- TestBed
- .configureTestingModule({
- declarations: [AppComponent],
- imports: [RouterModule.forRoot([])],
- providers: [
- {
- provide: ApplicationOperations,
- useClass: applicationOperationsSPy,
- },
- ],
- })
- .compileComponents();
+ TestBed.configureTestingModule({
+ declarations: [AppComponent],
+ imports: [RouterModule.forRoot([])],
+ providers: [
+ {
+ provide: ApplicationOperations,
+ useClass: applicationOperationsSPy,
+ },
+ ],
+ }).compileComponents();
}));
it('should create the app', () => {
diff --git a/devtools/projects/shell-browser/src/app/app.module.ts b/devtools/projects/shell-browser/src/app/app.module.ts
index 618e9612cde..3041848bbd6 100644
--- a/devtools/projects/shell-browser/src/app/app.module.ts
+++ b/devtools/projects/shell-browser/src/app/app.module.ts
@@ -29,5 +29,4 @@ import {ChromeApplicationOperations} from './chrome-application-operations';
},
],
})
-export class AppModule {
-}
+export class AppModule {}
diff --git a/devtools/projects/shell-browser/src/app/backend.ts b/devtools/projects/shell-browser/src/app/backend.ts
index bbb267260d6..8dadbe5e996 100644
--- a/devtools/projects/shell-browser/src/app/backend.ts
+++ b/devtools/projects/shell-browser/src/app/backend.ts
@@ -13,8 +13,10 @@ import {unHighlight} from '../../../ng-devtools-backend/src/lib/highlighter';
import {initializeExtendedWindowOperations} from './chrome-window-extensions';
import {SamePageMessageBus} from './same-page-message-bus';
-const messageBus =
- new SamePageMessageBus('angular-devtools-backend', 'angular-devtools-content-script');
+const messageBus = new SamePageMessageBus(
+ 'angular-devtools-backend',
+ 'angular-devtools-content-script',
+);
let initialized = false;
messageBus.on('handshake', () => {
@@ -36,9 +38,13 @@ messageBus.on('handshake', () => {
// handles case when mouse leaves chrome extension too quickly. unHighlight() is not a very
// expensive function and has an if check so it's DOM api call is not called more than necessary
- document.addEventListener('mousemove', () => {
- if (!inspectorRunning) {
- unHighlight();
- }
- }, false);
+ document.addEventListener(
+ 'mousemove',
+ () => {
+ if (!inspectorRunning) {
+ unHighlight();
+ }
+ },
+ false,
+ );
});
diff --git a/devtools/projects/shell-browser/src/app/background.ts b/devtools/projects/shell-browser/src/app/background.ts
index 2730999a339..80b94d32513 100644
--- a/devtools/projects/shell-browser/src/app/background.ts
+++ b/devtools/projects/shell-browser/src/app/background.ts
@@ -27,26 +27,28 @@ const browserAction = (() => {
// By default use the black and white icon.
// Replace it only when we detect an Angular app.
browserAction.setIcon(
- {
- path: {
- 16: chrome.runtime.getURL(`assets/icon-bw16.png`),
- 48: chrome.runtime.getURL(`assets/icon-bw48.png`),
- 128: chrome.runtime.getURL(`assets/icon-bw128.png`),
- },
+ {
+ path: {
+ 16: chrome.runtime.getURL(`assets/icon-bw16.png`),
+ 48: chrome.runtime.getURL(`assets/icon-bw48.png`),
+ 128: chrome.runtime.getURL(`assets/icon-bw128.png`),
},
- () => {});
+ },
+ () => {},
+);
const ports: {
[tab: string]:
- |{
- 'content-script': chrome.runtime.Port|null;
- devtools: chrome.runtime.Port|null;
- }|undefined;
+ | {
+ 'content-script': chrome.runtime.Port | null;
+ devtools: chrome.runtime.Port | null;
+ }
+ | undefined;
} = {};
chrome.runtime.onConnect.addListener((port) => {
- let tab: string|null = null;
- let name: 'devtools'|'content-script'|null = null;
+ let tab: string | null = null;
+ let name: 'devtools' | 'content-script' | null = null;
// tslint:disable-next-line:no-console
console.log('Connection event in the background script');
@@ -109,9 +111,11 @@ const installContentScript = (tabId: number) => {
if (isManifestV3) {
chrome.scripting.executeScript(
- {files: ['app/content_script_bundle.js'], target: {tabId}}, () => {
- chrome.scripting.executeScript({func: () => (globalThis as any).main(), target: {tabId}});
- });
+ {files: ['app/content_script_bundle.js'], target: {tabId}},
+ () => {
+ chrome.scripting.executeScript({func: () => (globalThis as any).main(), target: {tabId}});
+ },
+ );
return;
}
@@ -124,40 +128,42 @@ const installContentScript = (tabId: number) => {
});
};
-const doublePipe =
- (devtoolsPort: chrome.runtime.Port|null, contentScriptPort: chrome.runtime.Port,
- tab: string) => {
- if (devtoolsPort === null) {
- console.warn('DevTools port is equal to null');
- return;
- }
+const doublePipe = (
+ devtoolsPort: chrome.runtime.Port | null,
+ contentScriptPort: chrome.runtime.Port,
+ tab: string,
+) => {
+ if (devtoolsPort === null) {
+ console.warn('DevTools port is equal to null');
+ return;
+ }
- // tslint:disable-next-line:no-console
- console.log('Creating two-way communication channel', Date.now(), ports);
+ // tslint:disable-next-line:no-console
+ console.log('Creating two-way communication channel', Date.now(), ports);
- const onDevToolsMessage = (message: chrome.runtime.Port) => {
- contentScriptPort.postMessage(message);
- };
- devtoolsPort.onMessage.addListener(onDevToolsMessage);
+ const onDevToolsMessage = (message: chrome.runtime.Port) => {
+ contentScriptPort.postMessage(message);
+ };
+ devtoolsPort.onMessage.addListener(onDevToolsMessage);
- const onContentScriptMessage = (message: chrome.runtime.Port) => {
- devtoolsPort.postMessage(message);
- };
- contentScriptPort.onMessage.addListener(onContentScriptMessage);
+ const onContentScriptMessage = (message: chrome.runtime.Port) => {
+ devtoolsPort.postMessage(message);
+ };
+ contentScriptPort.onMessage.addListener(onContentScriptMessage);
- const shutdown = (source: string) => {
- // tslint:disable-next-line:no-console
- console.log('Disconnecting', source);
+ const shutdown = (source: string) => {
+ // tslint:disable-next-line:no-console
+ console.log('Disconnecting', source);
- devtoolsPort.onMessage.removeListener(onDevToolsMessage);
- contentScriptPort.onMessage.removeListener(onContentScriptMessage);
- devtoolsPort.disconnect();
- contentScriptPort.disconnect();
- ports[tab] = undefined;
- };
- devtoolsPort.onDisconnect.addListener(shutdown.bind(null, 'devtools'));
- contentScriptPort.onDisconnect.addListener(shutdown.bind(null, 'content-script'));
- };
+ devtoolsPort.onMessage.removeListener(onDevToolsMessage);
+ contentScriptPort.onMessage.removeListener(onContentScriptMessage);
+ devtoolsPort.disconnect();
+ contentScriptPort.disconnect();
+ ports[tab] = undefined;
+ };
+ devtoolsPort.onDisconnect.addListener(shutdown.bind(null, 'devtools'));
+ contentScriptPort.onDisconnect.addListener(shutdown.bind(null, 'content-script'));
+};
const getPopUpName = (ng: AngularDetection) => {
if (!ng.isAngular) {
@@ -184,14 +190,15 @@ chrome.runtime.onMessage.addListener((req: AngularDetection, sender) => {
}
if (sender && sender.tab && req.isAngular) {
browserAction.setIcon(
- {
- tabId: sender.tab.id,
- path: {
- 16: chrome.runtime.getURL(`assets/icon16.png`),
- 48: chrome.runtime.getURL(`assets/icon48.png`),
- 128: chrome.runtime.getURL(`assets/icon128.png`),
- },
+ {
+ tabId: sender.tab.id,
+ path: {
+ 16: chrome.runtime.getURL(`assets/icon16.png`),
+ 48: chrome.runtime.getURL(`assets/icon48.png`),
+ 128: chrome.runtime.getURL(`assets/icon128.png`),
},
- () => {});
+ },
+ () => {},
+ );
}
});
diff --git a/devtools/projects/shell-browser/src/app/chrome-application-operations.ts b/devtools/projects/shell-browser/src/app/chrome-application-operations.ts
index 5b27aa43caa..729e461f32f 100644
--- a/devtools/projects/shell-browser/src/app/chrome-application-operations.ts
+++ b/devtools/projects/shell-browser/src/app/chrome-application-operations.ts
@@ -15,15 +15,16 @@ export class ChromeApplicationOperations extends ApplicationOperations {
override viewSource(position: ElementPosition, directiveIndex: number): void {
if (chrome.devtools) {
chrome.devtools.inspectedWindow.eval(
- `inspect(inspectedApplication.findConstructorByPosition('${position}', ${
- directiveIndex}))`);
+ `inspect(inspectedApplication.findConstructorByPosition('${position}', ${directiveIndex}))`,
+ );
}
}
override selectDomElement(position: ElementPosition): void {
if (chrome.devtools) {
chrome.devtools.inspectedWindow.eval(
- `inspect(inspectedApplication.findDomElementByPosition('${position}'))`);
+ `inspect(inspectedApplication.findDomElementByPosition('${position}'))`,
+ );
}
}
@@ -34,7 +35,8 @@ export class ChromeApplicationOperations extends ApplicationOperations {
objectPath,
};
chrome.devtools.inspectedWindow.eval(
- `inspect(inspectedApplication.findPropertyByPosition('${JSON.stringify(args)}'))`);
+ `inspect(inspectedApplication.findPropertyByPosition('${JSON.stringify(args)}'))`,
+ );
}
}
}
diff --git a/devtools/projects/shell-browser/src/app/chrome-window-extensions.ts b/devtools/projects/shell-browser/src/app/chrome-window-extensions.ts
index 7f27d06e760..df84c43d472 100644
--- a/devtools/projects/shell-browser/src/app/chrome-window-extensions.ts
+++ b/devtools/projects/shell-browser/src/app/chrome-window-extensions.ts
@@ -8,7 +8,10 @@
import {findNodeFromSerializedPosition} from 'ng-devtools-backend';
-import {buildDirectiveForest, queryDirectiveForest} from '../../../ng-devtools-backend/src/lib/component-tree';
+import {
+ buildDirectiveForest,
+ queryDirectiveForest,
+} from '../../../ng-devtools-backend/src/lib/component-tree';
export const initializeExtendedWindowOperations = () => {
extendWindowOperations(globalThis, {inspectedApplication: chromeWindowExtensions});
@@ -25,8 +28,10 @@ const extendWindowOperations = (target: any, classImpl: T) => {
};
const chromeWindowExtensions = {
- findConstructorByPosition: (serializedId: string, directiveIndex: number):
- Element | undefined => {
+ findConstructorByPosition: (
+ serializedId: string,
+ directiveIndex: number,
+ ): Element | undefined => {
const node = findNodeFromSerializedPosition(serializedId);
if (node === null) {
console.error(`Cannot find element associated with node ${serializedId}`);
@@ -37,7 +42,8 @@ const chromeWindowExtensions = {
return node.directives[directiveIndex].instance.constructor;
} else {
console.error(
- `Could not find the directive in the current node at index ${directiveIndex}`);
+ `Could not find the directive in the current node at index ${directiveIndex}`,
+ );
return;
}
}
@@ -64,9 +70,10 @@ const chromeWindowExtensions = {
return undefined;
}
- const isDirective = directivePosition.directive !== undefined &&
- node.directives[directivePosition.directive] &&
- typeof node.directives[directivePosition.directive] === 'object';
+ const isDirective =
+ directivePosition.directive !== undefined &&
+ node.directives[directivePosition.directive] &&
+ typeof node.directives[directivePosition.directive] === 'object';
if (isDirective) {
return traverseDirective(node.directives[directivePosition.directive].instance, objectPath);
}
diff --git a/devtools/projects/shell-browser/src/app/content-script.ts b/devtools/projects/shell-browser/src/app/content-script.ts
index 527a372e8e8..8c2c4cd60f0 100644
--- a/devtools/projects/shell-browser/src/app/content-script.ts
+++ b/devtools/projects/shell-browser/src/app/content-script.ts
@@ -29,8 +29,10 @@ export const main = () => {
port.onDisconnect.addListener(handleDisconnect);
- const localMessageBus =
- new SamePageMessageBus('angular-devtools-content-script', 'angular-devtools-backend');
+ const localMessageBus = new SamePageMessageBus(
+ 'angular-devtools-content-script',
+ 'angular-devtools-backend',
+ );
const chromeMessageBus = new ChromeMessageBus(port);
const handshakeWithBackend = (): void => {
diff --git a/devtools/projects/shell-browser/src/app/detect-angular-for-extension-icon.ts b/devtools/projects/shell-browser/src/app/detect-angular-for-extension-icon.ts
index f115341fd65..960ea40bc94 100644
--- a/devtools/projects/shell-browser/src/app/detect-angular-for-extension-icon.ts
+++ b/devtools/projects/shell-browser/src/app/detect-angular-for-extension-icon.ts
@@ -6,7 +6,12 @@
* found in the LICENSE file at https://angular.io/license
*/
-import {appIsAngular, appIsAngularInDevMode, appIsAngularIvy, appIsSupportedAngularVersion} from 'shared-utils';
+import {
+ appIsAngular,
+ appIsAngularInDevMode,
+ appIsAngularIvy,
+ appIsSupportedAngularVersion,
+} from 'shared-utils';
export interface AngularDetection {
// This is necessary because the runtime
@@ -28,14 +33,15 @@ function detectAngular(win: Window): void {
const isIvy = appIsAngularIvy();
win.postMessage(
- {
- isIvy,
- isAngular,
- isDebugMode,
- isSupportedAngularVersion,
- isAngularDevTools: true,
- } as AngularDetection,
- '*');
+ {
+ isIvy,
+ isAngular,
+ isDebugMode,
+ isSupportedAngularVersion,
+ isAngularDevTools: true,
+ } as AngularDetection,
+ '*',
+ );
if (!isAngular) {
setTimeout(() => detectAngular(win), 1000);
diff --git a/devtools/projects/shell-browser/src/app/inject.ts b/devtools/projects/shell-browser/src/app/inject.ts
index 0bf1762b840..7d9428f8b4a 100644
--- a/devtools/projects/shell-browser/src/app/inject.ts
+++ b/devtools/projects/shell-browser/src/app/inject.ts
@@ -8,15 +8,15 @@
const loadScripts = (urls: string[]) => {
return urls
- .map((url, idx) => {
- return `
+ .map((url, idx) => {
+ return `
const script${idx} = document.constructor.prototype.createElement.call(document, 'script');
script${idx}.src = getScriptName("${url}");
document.documentElement.appendChild(script${idx});
script${idx}.parentNode.removeChild(script${idx});
`;
- })
- .join('\n');
+ })
+ .join('\n');
};
let loaded = false;
diff --git a/devtools/projects/shell-browser/src/app/same-page-message-bus.ts b/devtools/projects/shell-browser/src/app/same-page-message-bus.ts
index d785b0ab054..052508fd7ef 100644
--- a/devtools/projects/shell-browser/src/app/same-page-message-bus.ts
+++ b/devtools/projects/shell-browser/src/app/same-page-message-bus.ts
@@ -15,7 +15,10 @@ type ListenerFn = (e: MessageEvent) => void;
export class SamePageMessageBus extends MessageBus {
private _listeners: ListenerFn[] = [];
- constructor(private _source: string, private _destination: string) {
+ constructor(
+ private _source: string,
+ private _destination: string,
+ ) {
super();
}
@@ -66,13 +69,14 @@ export class SamePageMessageBus extends MessageBus {
override emit(topic: E, args?: Parameters): boolean {
window.postMessage(
- {
- source: this._source,
- topic,
- args,
- __ignore_ng_zone__: true,
- },
- '*');
+ {
+ source: this._source,
+ topic,
+ args,
+ __ignore_ng_zone__: true,
+ },
+ '*',
+ );
return true;
}
diff --git a/devtools/projects/shell-browser/src/app/zone-aware-chrome-message-bus.ts b/devtools/projects/shell-browser/src/app/zone-aware-chrome-message-bus.ts
index 001325b1ac3..0ba59226303 100644
--- a/devtools/projects/shell-browser/src/app/zone-aware-chrome-message-bus.ts
+++ b/devtools/projects/shell-browser/src/app/zone-aware-chrome-message-bus.ts
@@ -13,21 +13,30 @@ import {ChromeMessageBus} from './chrome-message-bus';
export class ZoneAwareChromeMessageBus extends MessageBus {
private _bus: ChromeMessageBus;
- constructor(port: chrome.runtime.Port, private _ngZone: NgZone) {
+ constructor(
+ port: chrome.runtime.Port,
+ private _ngZone: NgZone,
+ ) {
super();
this._bus = new ChromeMessageBus(port);
}
override on(topic: E, cb: Events[E]): void {
- this._bus.on(topic, function(this: ZoneAwareChromeMessageBus): void {
- this._ngZone.run(() => (cb as any).apply(null, arguments));
- }.bind(this));
+ this._bus.on(
+ topic,
+ function (this: ZoneAwareChromeMessageBus): void {
+ this._ngZone.run(() => (cb as any).apply(null, arguments));
+ }.bind(this),
+ );
}
override once(topic: E, cb: Events[E]): void {
- this._bus.once(topic, function(this: ZoneAwareChromeMessageBus): void {
- this._ngZone.run(() => (cb as any).apply(null, arguments));
- }.bind(this));
+ this._bus.once(
+ topic,
+ function (this: ZoneAwareChromeMessageBus): void {
+ this._ngZone.run(() => (cb as any).apply(null, arguments));
+ }.bind(this),
+ );
}
override emit(topic: E, args?: Parameters): boolean {
diff --git a/devtools/projects/shell-browser/src/assets/BUILD.bazel b/devtools/projects/shell-browser/src/assets/BUILD.bazel
index b61dc3f85e2..1402a23dcd9 100644
--- a/devtools/projects/shell-browser/src/assets/BUILD.bazel
+++ b/devtools/projects/shell-browser/src/assets/BUILD.bazel
@@ -7,7 +7,7 @@ filegroup(
"**/*.png",
"*.css",
]) + [
- "//third_party/github.com/google/material-design-icons:material-design-icons",
+ "//third_party/github.com/google/material-design-icons",
"//third_party/github.com/google/material-design-icons:LICENSE",
],
)
diff --git a/devtools/projects/shell-browser/src/environments/environment.ts b/devtools/projects/shell-browser/src/environments/environment.ts
index ae2c93cfafc..eb4f92736f0 100644
--- a/devtools/projects/shell-browser/src/environments/environment.ts
+++ b/devtools/projects/shell-browser/src/environments/environment.ts
@@ -8,5 +8,5 @@
export const environment = {
production: true,
- LATEST_SHA: 'BUILD_SCM_COMMIT_SHA', // Stamped at build time by bazel
+ LATEST_SHA: 'BUILD_SCM_COMMIT_SHA', // Stamped at build time by bazel
};
diff --git a/devtools/projects/shell-browser/src/main.ts b/devtools/projects/shell-browser/src/main.ts
index e912c7c1570..22898974744 100644
--- a/devtools/projects/shell-browser/src/main.ts
+++ b/devtools/projects/shell-browser/src/main.ts
@@ -12,4 +12,6 @@ import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
import {AppModule} from './app/app.module';
enableProdMode();
-platformBrowserDynamic().bootstrapModule(AppModule).catch(err => console.error(err));
+platformBrowserDynamic()
+ .bootstrapModule(AppModule)
+ .catch((err) => console.error(err));
diff --git a/devtools/src/app/app.module.ts b/devtools/src/app/app.module.ts
index fca1f4df1f6..2eef9a62ff3 100644
--- a/devtools/src/app/app.module.ts
+++ b/devtools/src/app/app.module.ts
@@ -24,7 +24,7 @@ import {AppComponent} from './app.component';
{
path: '',
loadChildren: () =>
- import('./devtools-app/devtools-app.module').then((m) => m.DevToolsModule),
+ import('./devtools-app/devtools-app.module').then((m) => m.DevToolsModule),
pathMatch: 'full',
},
{
@@ -45,5 +45,4 @@ import {AppComponent} from './app.component';
],
bootstrap: [AppComponent],
})
-export class AppModule {
-}
+export class AppModule {}
diff --git a/devtools/src/app/demo-app/demo-app.component.ts b/devtools/src/app/demo-app/demo-app.component.ts
index efa3999bd7e..8d5fdeb2db8 100644
--- a/devtools/src/app/demo-app/demo-app.component.ts
+++ b/devtools/src/app/demo-app/demo-app.component.ts
@@ -6,7 +6,17 @@
* found in the LICENSE file at https://angular.io/license
*/
-import {Component, computed, ElementRef, EventEmitter, Input, Output, signal, ViewChild, ViewEncapsulation} from '@angular/core';
+import {
+ Component,
+ computed,
+ ElementRef,
+ EventEmitter,
+ Input,
+ Output,
+ signal,
+ ViewChild,
+ ViewEncapsulation,
+} from '@angular/core';
import {ZippyComponent} from './zippy.component';
@@ -34,7 +44,7 @@ export class DemoAppComponent {
return {...original, age: original.age + 1};
});
- getTitle(): '► Click to expand'|'▼ Click to collapse' {
+ getTitle(): '► Click to expand' | '▼ Click to collapse' {
if (!this.zippy || !this.zippy.visible) {
return '► Click to expand';
}
diff --git a/devtools/src/app/demo-app/demo-app.module.ts b/devtools/src/app/demo-app/demo-app.module.ts
index 6c2da8feb39..451642deb11 100644
--- a/devtools/src/app/demo-app/demo-app.module.ts
+++ b/devtools/src/app/demo-app/demo-app.module.ts
@@ -44,5 +44,10 @@ export class DemoAppModule {
}
}
-initializeMessageBus(new ZoneUnawareIFrameMessageBus(
- 'angular-devtools-backend', 'angular-devtools', () => window.parent));
+initializeMessageBus(
+ new ZoneUnawareIFrameMessageBus(
+ 'angular-devtools-backend',
+ 'angular-devtools',
+ () => window.parent,
+ ),
+);
diff --git a/devtools/src/app/demo-app/heavy.component.ts b/devtools/src/app/demo-app/heavy.component.ts
index 37696ce8b54..a948b4d13c0 100644
--- a/devtools/src/app/demo-app/heavy.component.ts
+++ b/devtools/src/app/demo-app/heavy.component.ts
@@ -22,8 +22,7 @@ const fib = (n: number): number => {
})
export class HeavyComponent {
@Input()
- set foo(_: any) {
- }
+ set foo(_: any) {}
state = {
nested: {
@@ -31,14 +30,12 @@ export class HeavyComponent {
foo: 1,
bar: 2,
},
- [Symbol(3)]():
- number {
- return 1.618;
- },
- get foo():
- number {
- return 42;
- },
+ [Symbol(3)](): number {
+ return 1.618;
+ },
+ get foo(): number {
+ return 42;
+ },
},
};
calculate(): number {
diff --git a/devtools/src/app/demo-app/sample-properties.component.ts b/devtools/src/app/demo-app/sample-properties.component.ts
index 92431f799a5..35fd174da0a 100644
--- a/devtools/src/app/demo-app/sample-properties.component.ts
+++ b/devtools/src/app/demo-app/sample-properties.component.ts
@@ -32,7 +32,11 @@ export class SamplePropertiesComponent {
exampleObject = {name: 'John', age: 40};
exampleArray = [1, 2, [3, 4], {name: 'John', age: 40, skills: ['JavaScript']}];
exampleSet = new Set([1, 2, 3, 4, 5]);
- exampleMap = new Map([['name', 'John'], ['age', 40], [{id: 123}, undefined]]);
+ exampleMap = new Map([
+ ['name', 'John'],
+ ['age', 40],
+ [{id: 123}, undefined],
+ ]);
exampleDate = new Date();
exampleFunction = () => 'John';
diff --git a/devtools/src/app/demo-app/sample.service.ts b/devtools/src/app/demo-app/sample.service.ts
index 23ca8f78371..679bd550ad4 100644
--- a/devtools/src/app/demo-app/sample.service.ts
+++ b/devtools/src/app/demo-app/sample.service.ts
@@ -21,7 +21,11 @@ export class SampleService {
exampleObject = {name: 'John', age: 40};
exampleArray = [1, 2, [3, 4], {name: 'John', age: 40, skills: ['JavaScript']}];
exampleSet = new Set([1, 2, 3, 4, 5]);
- exampleMap = new Map([['name', 'John'], ['age', 40], [{id: 123}, undefined]]);
+ exampleMap = new Map([
+ ['name', 'John'],
+ ['age', 40],
+ [{id: 123}, undefined],
+ ]);
exampleDate = new Date();
exampleFunction = () => 'John';
diff --git a/devtools/src/app/demo-app/todo/about/about.component.ts b/devtools/src/app/demo-app/todo/about/about.component.ts
index 771e7017e14..598cfaaf545 100644
--- a/devtools/src/app/demo-app/todo/about/about.component.ts
+++ b/devtools/src/app/demo-app/todo/about/about.component.ts
@@ -17,5 +17,4 @@ import {Component} from '@angular/core';
Home
`,
})
-export class AboutComponent {
-}
+export class AboutComponent {}
diff --git a/devtools/src/app/demo-app/todo/about/about.module.ts b/devtools/src/app/demo-app/todo/about/about.module.ts
index 26997999725..686efca3b49 100644
--- a/devtools/src/app/demo-app/todo/about/about.module.ts
+++ b/devtools/src/app/demo-app/todo/about/about.module.ts
@@ -24,5 +24,4 @@ import {AboutComponent} from './about.component';
declarations: [AboutComponent],
exports: [AboutComponent],
})
-export class AboutModule {
-}
+export class AboutModule {}
diff --git a/devtools/src/app/demo-app/todo/app-todo.component.ts b/devtools/src/app/demo-app/todo/app-todo.component.ts
index d65486029ec..d0b379b109d 100644
--- a/devtools/src/app/demo-app/todo/app-todo.component.ts
+++ b/devtools/src/app/demo-app/todo/app-todo.component.ts
@@ -12,14 +12,13 @@ import {MatDialog} from '@angular/material/dialog';
import {DialogComponent} from './dialog.component';
@Injectable()
-export class MyServiceA {
-}
+export class MyServiceA {}
@Component({
selector: 'app-todo-demo',
templateUrl: './app-todo.component.html',
styleUrls: ['./app-todo.component.scss'],
- viewProviders: [MyServiceA]
+ viewProviders: [MyServiceA],
})
export class AppTodoComponent {
name!: string;
diff --git a/devtools/src/app/demo-app/todo/app.module.ts b/devtools/src/app/demo-app/todo/app.module.ts
index 0b88dfebaaa..22380daa788 100644
--- a/devtools/src/app/demo-app/todo/app.module.ts
+++ b/devtools/src/app/demo-app/todo/app.module.ts
@@ -53,5 +53,4 @@ import {DialogComponent} from './dialog.component';
exports: [AppTodoComponent],
bootstrap: [AppTodoComponent],
})
-export class AppModule {
-}
+export class AppModule {}
diff --git a/devtools/src/app/demo-app/todo/dialog.component.ts b/devtools/src/app/demo-app/todo/dialog.component.ts
index 874a027689f..1a562f074ab 100644
--- a/devtools/src/app/demo-app/todo/dialog.component.ts
+++ b/devtools/src/app/demo-app/todo/dialog.component.ts
@@ -20,8 +20,9 @@ export interface DialogData {
})
export class DialogComponent {
constructor(
- public dialogRef: MatDialogRef,
- @Inject(MAT_DIALOG_DATA) public data: DialogData) {}
+ public dialogRef: MatDialogRef,
+ @Inject(MAT_DIALOG_DATA) public data: DialogData,
+ ) {}
onNoClick(): void {
this.dialogRef.close();
diff --git a/devtools/src/app/demo-app/todo/home/home.module.ts b/devtools/src/app/demo-app/todo/home/home.module.ts
index cdf7a4222d8..2e607edeb8e 100644
--- a/devtools/src/app/demo-app/todo/home/home.module.ts
+++ b/devtools/src/app/demo-app/todo/home/home.module.ts
@@ -30,5 +30,4 @@ import {TodosFilter} from './todos.pipe';
declarations: [SamplePipe, TodosComponent, TodoComponent, TodosFilter, TooltipDirective],
exports: [TodosComponent],
})
-export class HomeModule {
-}
+export class HomeModule {}
diff --git a/devtools/src/app/devtools-app/devtools-app.component.ts b/devtools/src/app/devtools-app/devtools-app.component.ts
index 58dde7bfdae..e25433158b6 100644
--- a/devtools/src/app/devtools-app/devtools-app.component.ts
+++ b/devtools/src/app/devtools-app/devtools-app.component.ts
@@ -18,15 +18,19 @@ import {IFrameMessageBus} from '../../iframe-message-bus';
{
provide: MessageBus,
useFactory(): MessageBus {
- return new PriorityAwareMessageBus(new IFrameMessageBus(
- 'angular-devtools', 'angular-devtools-backend',
+ return new PriorityAwareMessageBus(
+ new IFrameMessageBus(
+ 'angular-devtools',
+ 'angular-devtools-backend',
// tslint:disable-next-line: no-non-null-assertion
- () => (document.querySelector('#sample-app') as HTMLIFrameElement).contentWindow!));
+ () => (document.querySelector('#sample-app') as HTMLIFrameElement).contentWindow!,
+ ),
+ );
},
},
],
})
export class DevToolsComponent {
- messageBus: IFrameMessageBus|null = null;
+ messageBus: IFrameMessageBus | null = null;
@ViewChild('ref') iframe!: ElementRef;
}
diff --git a/devtools/src/app/devtools-app/devtools-app.module.ts b/devtools/src/app/devtools-app/devtools-app.module.ts
index 22a0d9c31a0..389bcc0e2ca 100644
--- a/devtools/src/app/devtools-app/devtools-app.module.ts
+++ b/devtools/src/app/devtools-app/devtools-app.module.ts
@@ -27,5 +27,4 @@ import {DevToolsComponent} from './devtools-app.component';
]),
],
})
-export class DevToolsModule {
-}
+export class DevToolsModule {}
diff --git a/devtools/src/environments/environment.ts b/devtools/src/environments/environment.ts
index 6830d2daa76..226d242d5ae 100644
--- a/devtools/src/environments/environment.ts
+++ b/devtools/src/environments/environment.ts
@@ -8,5 +8,5 @@
export const environment = {
production: false,
- LATEST_SHA: 'BUILD_SCM_COMMIT_SHA', // Stamped at build time by bazel
+ LATEST_SHA: 'BUILD_SCM_COMMIT_SHA', // Stamped at build time by bazel
};
diff --git a/devtools/src/iframe-message-bus.ts b/devtools/src/iframe-message-bus.ts
index 021875358b4..c27cc1efe0c 100644
--- a/devtools/src/iframe-message-bus.ts
+++ b/devtools/src/iframe-message-bus.ts
@@ -14,7 +14,10 @@ export class IFrameMessageBus extends MessageBus {
private _listeners: any[] = [];
constructor(
- private _source: string, private _destination: string, private _docWindow: () => Window) {
+ private _source: string,
+ private _destination: string,
+ private _docWindow: () => Window,
+ ) {
super();
}
@@ -65,18 +68,19 @@ export class IFrameMessageBus extends MessageBus {
override emit(topic: E, args?: Parameters): boolean {
this._docWindow().postMessage(
- {
- source: this._source,
- topic,
- args,
- // Since both the devtools app and the demo app use IframeMessageBus,
- // we want to only ignore the ngZone for the demo app. This will let us
- // prevent infinite change detection loops triggered by message
- // event listeners but also not prevent the NgZone in the devtools app
- // from updating its UI.
- __ignore_ng_zone__: this._source === 'angular-devtools',
- },
- '*');
+ {
+ source: this._source,
+ topic,
+ args,
+ // Since both the devtools app and the demo app use IframeMessageBus,
+ // we want to only ignore the ngZone for the demo app. This will let us
+ // prevent infinite change detection loops triggered by message
+ // event listeners but also not prevent the NgZone in the devtools app
+ // from updating its UI.
+ __ignore_ng_zone__: this._source === 'angular-devtools',
+ },
+ '*',
+ );
return true;
}
diff --git a/devtools/src/main.ts b/devtools/src/main.ts
index 68ca2561d15..3f49b529e1d 100644
--- a/devtools/src/main.ts
+++ b/devtools/src/main.ts
@@ -10,4 +10,6 @@ import {platformBrowser} from '@angular/platform-browser';
import {AppModule} from './app/app.module';
-platformBrowser().bootstrapModule(AppModule).catch((err) => console.error(err));
+platformBrowser()
+ .bootstrapModule(AppModule)
+ .catch((err) => console.error(err));