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
};
}