export function processFile()

in src/lib.ts [643:673]


export function processFile(contents: string, relativeFileName: string | undefined, sourceMap?: string | RawSourceMap): { contents: string | undefined, sourceMap: string | undefined, bundle: JavaScriptMessageBundle | undefined, errors: string[] } {

	const analysisResult = analyze(contents, relativeFileName);
	if (analysisResult.patches.length === 0) {
		return {
			contents: undefined,
			sourceMap: undefined,
			bundle: undefined,
			errors: analysisResult.errors
		};
	}
	let rawSourceMap: RawSourceMap | undefined = undefined;
	if (isString(sourceMap)) {
		try {
			rawSourceMap = JSON.parse(sourceMap);
		} catch (e) {
		}
	} else if (sourceMap) {
		rawSourceMap = sourceMap;
	}

	const textModel = new TextModel(contents, rawSourceMap);
	textModel.apply(analysisResult.patches);

	return {
		contents: textModel.toString(),
		sourceMap: textModel.generateSourceMap(),
		bundle: analysisResult.bundle,
		errors: analysisResult.errors
	};
}