UNPKG

@angular/core

Version:

Angular - the core framework

50 lines (49 loc) 2.1 kB
/** * @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 */ /// <amd-module name="@angular/core/schematics/migrations/module-with-providers/transform" /> import { UpdateRecorder } from '@angular-devkit/schematics'; import { ResolvedValueMap } from '@angular/compiler-cli/src/ngtsc/partial_evaluator'; import * as ts from 'typescript'; import { ResolvedNgModule } from './collector'; export interface AnalysisFailure { node: ts.Node; message: string; } export declare class ModuleWithProvidersTransform { private typeChecker; private getUpdateRecorder; private printer; private partialEvaluator; constructor(typeChecker: ts.TypeChecker, getUpdateRecorder: (sf: ts.SourceFile) => UpdateRecorder); /** Migrates a given NgModule by walking through the referenced providers and static methods. */ migrateModule(module: ResolvedNgModule): AnalysisFailure[]; /** Migrates a ModuleWithProviders type definition that has no explicit generic type */ migrateType(type: ts.TypeReferenceNode): AnalysisFailure[]; /** Add a given generic to a type reference node */ private _addGenericToTypeReference; /** * Migrates a given static method if its ModuleWithProviders does not provide * a generic type. */ private _updateStaticMethodType; /** Whether the resolved value map represents a ModuleWithProviders object */ isModuleWithProvidersType(value: ResolvedValueMap): boolean; /** * Determine the generic type of a suspected ModuleWithProviders return type and add it * explicitly */ private _migrateStaticNgModuleMethod; /** Evaluate and return the ngModule type from an expression */ private _getNgModuleTypeOfExpression; /** * Visits a given object literal expression to determine the ngModule type. If the expression * cannot be resolved, add a TODO to alert the user. */ private _getTypeOfResolvedValue; private _updateNode; }