57 lines
1.9 KiB
TypeScript
Executable File
57 lines
1.9 KiB
TypeScript
Executable File
/**
|
|
* @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 o from './output/output_ast';
|
|
export declare const enum DefinitionKind {
|
|
Injector = 0,
|
|
Directive = 1,
|
|
Component = 2,
|
|
Pipe = 3
|
|
}
|
|
/**
|
|
* A constant pool allows a code emitter to share constant in an output context.
|
|
*
|
|
* The constant pool also supports sharing access to ivy definitions references.
|
|
*/
|
|
export declare class ConstantPool {
|
|
private readonly isClosureCompilerEnabled;
|
|
statements: o.Statement[];
|
|
private literals;
|
|
private literalFactories;
|
|
private injectorDefinitions;
|
|
private directiveDefinitions;
|
|
private componentDefinitions;
|
|
private pipeDefinitions;
|
|
private nextNameIndex;
|
|
constructor(isClosureCompilerEnabled?: boolean);
|
|
getConstLiteral(literal: o.Expression, forceShared?: boolean): o.Expression;
|
|
getDefinition(type: any, kind: DefinitionKind, ctx: OutputContext, forceShared?: boolean): o.Expression;
|
|
getLiteralFactory(literal: o.LiteralArrayExpr | o.LiteralMapExpr): {
|
|
literalFactory: o.Expression;
|
|
literalFactoryArguments: o.Expression[];
|
|
};
|
|
private _getLiteralFactory;
|
|
/**
|
|
* Produce a unique name.
|
|
*
|
|
* The name might be unique among different prefixes if any of the prefixes end in
|
|
* a digit so the prefix should be a constant string (not based on user input) and
|
|
* must not end in a digit.
|
|
*/
|
|
uniqueName(prefix: string): string;
|
|
private definitionsOf;
|
|
propertyNameOf(kind: DefinitionKind): string;
|
|
private freshName;
|
|
private keyOf;
|
|
}
|
|
export interface OutputContext {
|
|
genFilePath: string;
|
|
statements: o.Statement[];
|
|
constantPool: ConstantPool;
|
|
importExpr(reference: any, typeParams?: o.Type[] | null, useSummaries?: boolean): o.Expression;
|
|
}
|