diff --git a/build/monaco/api.js b/build/monaco/api.js index 83eacd16a3d..608113ffbce 100644 --- a/build/monaco/api.js +++ b/build/monaco/api.js @@ -210,7 +210,8 @@ function createReplacer(data) { }; } function generateDeclarationFile(out, inputFiles, recipe) { - var lines = recipe.split(/\r\n|\n|\r/); + var endl = /\r\n/.test(recipe) ? '\r\n' : '\n'; + var lines = recipe.split(endl); var result = []; lines.forEach(function (line) { var m1 = line.match(/^\s*#include\(([^;)]*)(;[^)]*)?\)\:(.*)$/); @@ -278,12 +279,11 @@ function generateDeclarationFile(out, inputFiles, recipe) { } result.push(line); }); - var resultTxt = result.join('\n'); + var resultTxt = result.join(endl); resultTxt = resultTxt.replace(/\bURI\b/g, 'Uri'); resultTxt = resultTxt.replace(/\bEventboolean): void { +function visitTopLevelDeclarations(sourceFile: ts.SourceFile, visitor: (node: TSTopLevelDeclare) => boolean): void { let stop = false; let visit = (node: ts.Node): void => { @@ -100,8 +100,8 @@ function visitTopLevelDeclarations(sourceFile:ts.SourceFile, visitor:(node:TSTop } -function getAllTopLevelDeclarations(sourceFile:ts.SourceFile): TSTopLevelDeclare[] { - let all:TSTopLevelDeclare[] = []; +function getAllTopLevelDeclarations(sourceFile: ts.SourceFile): TSTopLevelDeclare[] { + let all: TSTopLevelDeclare[] = []; visitTopLevelDeclarations(sourceFile, (node) => { if (node.kind === ts.SyntaxKind.InterfaceDeclaration || node.kind === ts.SyntaxKind.ClassDeclaration || node.kind === ts.SyntaxKind.ModuleDeclaration) { let interfaceDeclaration = node; @@ -128,8 +128,8 @@ function getAllTopLevelDeclarations(sourceFile:ts.SourceFile): TSTopLevelDeclare } -function getTopLevelDeclaration(sourceFile:ts.SourceFile, typeName:string): TSTopLevelDeclare { - let result:TSTopLevelDeclare = null; +function getTopLevelDeclaration(sourceFile: ts.SourceFile, typeName: string): TSTopLevelDeclare { + let result: TSTopLevelDeclare = null; visitTopLevelDeclarations(sourceFile, (node) => { if (isDeclaration(node)) { if (node.name.text === typeName) { @@ -149,12 +149,12 @@ function getTopLevelDeclaration(sourceFile:ts.SourceFile, typeName:string): TSTo } -function getNodeText(sourceFile:ts.SourceFile, node:{pos:number; end:number;}): string { +function getNodeText(sourceFile: ts.SourceFile, node: { pos: number; end: number; }): string { return sourceFile.getFullText().substring(node.pos, node.end); } -function getMassagedTopLevelDeclarationText(sourceFile:ts.SourceFile, declaration: TSTopLevelDeclare): string { +function getMassagedTopLevelDeclarationText(sourceFile: ts.SourceFile, declaration: TSTopLevelDeclare): string { let result = getNodeText(sourceFile, declaration); // if (result.indexOf('MonacoWorker') >= 0) { // console.log('here!'); @@ -163,7 +163,7 @@ function getMassagedTopLevelDeclarationText(sourceFile:ts.SourceFile, declaratio if (declaration.kind === ts.SyntaxKind.InterfaceDeclaration || declaration.kind === ts.SyntaxKind.ClassDeclaration) { let interfaceDeclaration = declaration; - let members:ts.NodeArray = interfaceDeclaration.members; + let members: ts.NodeArray = interfaceDeclaration.members; members.forEach((member) => { try { let memberText = getNodeText(sourceFile, member); @@ -182,7 +182,7 @@ function getMassagedTopLevelDeclarationText(sourceFile:ts.SourceFile, declaratio return result; } -function format(text:string): string { +function format(text: string): string { // Parse the source text let sourceFile = ts.createSourceFile('file.ts', text, ts.ScriptTarget.Latest, /*setParentPointers*/ true); @@ -214,10 +214,10 @@ function format(text:string): string { } } -function createReplacer(data:string): (str:string)=>string { +function createReplacer(data: string): (str: string) => string { data = data || ''; let rawDirectives = data.split(';'); - let directives: [RegExp,string][] = []; + let directives: [RegExp, string][] = []; rawDirectives.forEach((rawDirective) => { if (rawDirective.length === 0) { return; @@ -231,7 +231,7 @@ function createReplacer(data:string): (str:string)=>string { directives.push([new RegExp(findStr, 'g'), replaceStr]); }); - return (str:string)=> { + return (str: string) => { for (let i = 0; i < directives.length; i++) { str = str.replace(directives[i][0], directives[i][1]); } @@ -239,10 +239,11 @@ function createReplacer(data:string): (str:string)=>string { }; } -function generateDeclarationFile(out: string, inputFiles: { [file: string]: string; }, recipe:string): string { - let lines = recipe.split(/\r\n|\n|\r/); - let result = []; +function generateDeclarationFile(out: string, inputFiles: { [file: string]: string; }, recipe: string): string { + const endl = /\r\n/.test(recipe) ? '\r\n' : '\n'; + let lines = recipe.split(endl); + let result = []; lines.forEach(line => { @@ -285,7 +286,7 @@ function generateDeclarationFile(out: string, inputFiles: { [file: string]: stri let replacer = createReplacer(m2[2]); let typeNames = m2[3].split(/,/); - let typesToExcludeMap: {[typeName:string]:boolean;} = {}; + let typesToExcludeMap: { [typeName: string]: boolean; } = {}; let typesToExcludeArr: string[] = []; typeNames.forEach((typeName) => { typeName = typeName.trim(); @@ -318,18 +319,17 @@ function generateDeclarationFile(out: string, inputFiles: { [file: string]: stri result.push(line); }); - let resultTxt = result.join('\n'); + let resultTxt = result.join(endl); resultTxt = resultTxt.replace(/\bURI\b/g, 'Uri'); resultTxt = resultTxt.replace(/\bEvent