MCPcopy Index your code
hub / github.com/angular/angular / appendDeepSchemaChecks

Method appendDeepSchemaChecks

packages/compiler/src/typecheck/ops/scope.ts:816–851  ·  view source on GitHub ↗
(nodes: Node[])

Source from the content-addressed store, hash-verified

814 }
815
816 private appendDeepSchemaChecks(nodes: Node[]): void {
817 for (const node of nodes) {
818 if (!(node instanceof Element || node instanceof Template)) {
819 continue;
820 }
821
822 if (node instanceof Element) {
823 const claimedInputs = new Set<string>();
824 let directives = this.tcb.boundTarget.getDirectivesOfNode(node);
825
826 for (const dirNode of node.directives) {
827 const directiveResults = this.tcb.boundTarget.getDirectivesOfNode(dirNode);
828
829 if (directiveResults !== null && directiveResults.length > 0) {
830 directives ??= [];
831 directives.push(...directiveResults);
832 }
833 }
834
835 let hasDirectives: boolean;
836 if (directives === null || directives.length === 0) {
837 hasDirectives = false;
838 } else {
839 hasDirectives = true;
840 for (const dir of directives) {
841 for (const propertyName of dir.inputs.propertyNames) {
842 claimedInputs.add(propertyName);
843 }
844 }
845 }
846 this.opQueue.push(new TcbDomSchemaCheckerOp(this.tcb, node, !hasDirectives, claimedInputs));
847 }
848
849 this.appendDeepSchemaChecks(node.children);
850 }
851 }
852
853 private appendIcuExpressions(node: Icu): void {
854 for (const variable of Object.values(node.vars)) {

Callers 1

appendNodeMethod · 0.95

Calls 3

getDirectivesOfNodeMethod · 0.65
addMethod · 0.65
pushMethod · 0.45

Tested by

no test coverage detected