/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /// import * as ts from 'typescript'; import { ClassDeclaration } from '../../reflection'; import { SymbolWithValueDeclaration } from '../../util/src/typescript'; /** * Metadata on a directive which is available in the scope of a template. */ export interface DirectiveInScope { /** * The `ts.Symbol` for the directive class. */ tsSymbol: SymbolWithValueDeclaration; /** * The module which declares the directive. */ ngModule: ClassDeclaration | null; /** * The selector for the directive or component. */ selector: string; /** * `true` if this directive is a component. */ isComponent: boolean; /** * `true` if this directive is a structural directive. */ isStructural: boolean; } /** * Metadata for a pipe which is available in the scope of a template. */ export interface PipeInScope { /** * The `ts.Symbol` for the pipe class. */ tsSymbol: ts.Symbol; /** * Name of the pipe. */ name: string; }