perf(ivy): guard directive-related operations with a TNode flag (#32445)

PR Close #32445
This commit is contained in:
Pawel Kozlowski
2019-09-02 15:17:44 +02:00
committed by Miško Hevery
parent a383a5a165
commit 641c5c1c1e
16 changed files with 87 additions and 57 deletions

View File

@ -282,14 +282,14 @@ export function getDirectivesAtNodeIndex(
let directiveStartIndex = tNode.directiveStart;
if (directiveStartIndex == 0) return EMPTY_ARRAY;
const directiveEndIndex = tNode.directiveEnd;
if (!includeComponents && tNode.flags & TNodeFlags.isComponent) directiveStartIndex++;
if (!includeComponents && tNode.flags & TNodeFlags.isComponentHost) directiveStartIndex++;
return lView.slice(directiveStartIndex, directiveEndIndex);
}
export function getComponentAtNodeIndex(nodeIndex: number, lView: LView): {}|null {
const tNode = lView[TVIEW].data[nodeIndex] as TNode;
let directiveStartIndex = tNode.directiveStart;
return tNode.flags & TNodeFlags.isComponent ? lView[directiveStartIndex] : null;
return tNode.flags & TNodeFlags.isComponentHost ? lView[directiveStartIndex] : null;
}
/**