budgie-cli
Version:
Node CLI for Budgie.
29 lines (28 loc) • 1.26 kB
TypeScript
import { IConverter, IConverterCreator, ICreateConverterDependencies } from "./converter";
/**
* Creates and caches converters per language extension.
*/
export declare class ConvertersBag {
private readonly creators;
private readonly createConverterDependencies;
/**
* Cached creation Promises for converters, keyed by language extension.
*/
private readonly converters;
constructor(creators: Map<string, IConverterCreator>, createConverterDependencies: ICreateConverterDependencies);
/**
* Returns a cached converter, creating it as needed.
*
* @param languageExtension Language extension to create for.
* @returns Promise for the language's cached creator, if it exists, or an error during creation.
*/
get(languageExtension: string): Promise<Error | IConverter | undefined>;
/**
* Starts creation of a new converter, if the extension is known.
*
* @param languageExtension Language extension to create for.
* @returns Promise for the language's creator, or an error during creation.
*/
private startCreation;
}
export declare const createConvertersBag: (createConverterDependencies: ICreateConverterDependencies) => ConvertersBag;