@carlosv2/glue
Version:
Dependency injection library that stays out of the way
37 lines • 2.62 kB
TypeScript
import { Compilable } from '../compilable.js';
import { DefinitionContext } from '../context/index.js';
import { Call, Processor } from '../processor.js';
import { Tag } from '../service.js';
import { Maybe } from '../utils.js';
export declare abstract class Compiler extends Processor<Compilable> {
private readonly extensions;
private readonly parameters;
private readonly aliases;
private readonly services;
protected glob(pattern: string): string[];
protected getFullPath(baseFile: string, relative: string, shouldExist?: boolean): string;
protected readContents(path: string): string;
protected addExtend(path: string): void;
protected addParameter(id: string, parameter: Compilable): void;
protected addAlias(id: string, alias: Compilable): void;
protected addService(id: string, service: Compilable): void;
private getCompilableContext;
protected processEnvStrValue(context: DefinitionContext, name: string, fallback: Maybe<string>): Compilable;
protected processEnvBoolValue(context: DefinitionContext, name: string, fallback: Maybe<string>): Compilable;
protected processEnvNumValue(context: DefinitionContext, name: string, fallback: Maybe<string>): Compilable;
protected processEvalValue(context: DefinitionContext, code: string): Compilable;
protected processLiteralValue(context: DefinitionContext, value: unknown): Compilable;
protected processParameterValue(context: DefinitionContext, id: string): Compilable;
protected processServiceValue(context: DefinitionContext, id: string): Compilable;
private getExportedToken;
protected processSymbolValue(context: DefinitionContext, path: string, name: Maybe<string>): Compilable;
protected processTagListValue(context: DefinitionContext, name: string): Compilable;
protected processTagObjectValue(context: DefinitionContext, name: string): Compilable;
protected processAlias(context: DefinitionContext, aliased: string): Compilable;
protected processConstructorService(context: DefinitionContext, symbol: Compilable, args: Compilable[], scope: string, tags: Tag[], calls: Call<Compilable>[]): Compilable;
protected processFactoryService(context: DefinitionContext, symbol: Compilable, factory: Compilable, args: Compilable[], scope: string, tags: Tag[], calls: Call<Compilable>[]): Compilable;
protected processPropertyService(context: DefinitionContext, symbol: Compilable, property: Compilable, scope: string, tags: Tag[], calls: Call<Compilable>[]): Compilable;
private compileCall;
compile(): string;
}
//# sourceMappingURL=compiler.d.ts.map