define ( "vs/language/typescript/src/monaco.contribution" , [ "require" , "exports" ] , function ( e , t ) { function n ( ) { return { ModuleKind : s , JsxEmit : r , NewLineKind : c , ScriptTarget : p , ModuleResolutionKind : u , typescriptDefaults : l , javascriptDefaults : g } ; } function i ( t ) { e ( [ "vs/language/typescript/src/mode" ] , t ) ; } var o = monaco . Emitter , a = function ( ) { function e ( e , t ) { this . _onDidChange = new o , this . _extraLibs = Object . create ( null ) , this . setCompilerOptions ( e ) , this . setDiagnosticsOptions ( t ) ; } return Object . defineProperty ( e . prototype , "onDidChange" , { get : function ( ) { return this . _onDidChange . event ; } , enumerable : ! 0 , configurable : ! 0 } ) , Object . defineProperty ( e . prototype , "extraLibs" , { get : function ( ) { return Object . freeze ( this . _extraLibs ) ; } , enumerable : ! 0 , configurable : ! 0 } ) , e . prototype . addExtraLib = function ( e , t ) { var n = this ; if ( "undefined" == typeof t && ( t = "ts:extralib-" + Date . now ( ) ) , this . _extraLibs [ t ] ) throw new Error ( t + " already a extra lib" ) ; return this . _extraLibs [ t ] = e , this . _onDidChange . fire ( this ) , { dispose : function ( ) { delete n . _extraLibs [ t ] && n . _onDidChange . fire ( n ) ; } } ; } , Object . defineProperty ( e . prototype , "compilerOptions" , { get : function ( ) { return this . _compilerOptions ; } , enumerable : ! 0 , configurable : ! 0 } ) , e . prototype . setCompilerOptions = function ( e ) { this . _compilerOptions = e || Object . create ( null ) , this . _onDidChange . fire ( this ) ; } , Object . defineProperty ( e . prototype , "diagnosticsOptions" , { get : function ( ) { return this . _diagnosticsOptions ; } , enumerable : ! 0 , configurable : ! 0 } ) , e . prototype . setDiagnosticsOptions = function ( e ) { this . _diagnosticsOptions = e || Object . create ( null ) , this . _onDidChange . fire ( this ) ; } , e ; } ( ) ; t . LanguageServiceDefaultsImpl = a ; var s ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . CommonJS = 1 ] = "CommonJS" , e [ e . AMD = 2 ] = "AMD" , e [ e . UMD = 3 ] = "UMD" , e [ e . System = 4 ] = "System" , e [ e . ES6 = 5 ] = "ES6" , e [ e . ES2015 = 5 ] = "ES2015" ; } ( s || ( s = { } ) ) ; var r ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . Preserve = 1 ] = "Preserve" , e [ e . React = 2 ] = "React" ; } ( r || ( r = { } ) ) ; var c ; ! function ( e ) { e [ e . CarriageReturnLineFeed = 0 ] = "CarriageReturnLineFeed" , e [ e . LineFeed = 1 ] = "LineFeed" ; } ( c || ( c = { } ) ) ; var p ; ! function ( e ) { e [ e . ES3 = 0 ] = "ES3" , e [ e . ES5 = 1 ] = "ES5" , e [ e . ES6 = 2 ] = "ES6" , e [ e . ES2015 = 2 ] = "ES2015" , e [ e . Latest = 2 ] = "Latest" ; } ( p || ( p = { } ) ) ; var u ; ! function ( e ) { e [ e . Classic = 1 ] = "Classic" , e [ e . NodeJs = 2 ] = "NodeJs" ; } ( u || ( u = { } ) ) ; var l = new a ( { allowNonTsExtensions : ! 0 , target : p . Latest } , { noSemanticValidation : ! 1 , noSyntaxValidation : ! 1 } ) , g = new a ( { allowNonTsExtensions : ! 0 , allowJs : ! 0 , target : p . Latest } , { noSemanticValidation : ! 0 , noSyntaxValidation : ! 1 } ) ; monaco . languages . typescript = n ( ) , monaco . languages . register ( { id : "typescript" , extensions : [ ".ts" ] , aliases : [ "TypeScript" , "ts" , "typescript" ] , mimetypes : [ "text/typescript" ] } ) , monaco . languages . onLanguage ( "typescript" , function ( ) { i ( function ( e ) { return e . setupTypeScript ( l ) ; } ) ; } ) , monaco . languages . register ( { id : "javascript" , extensions : [ ".js" , ".es6" ] , firstLine : "^#!.*\\bnode" , filenames : [ "jakefile" ] , aliases : [ "JavaScript" , "javascript" , "js" ] , mimetypes : [ "text/javascript" ] } ) , monaco . languages . onLanguage ( "javascript" , function ( ) { i ( function ( e ) { return e . setupJavaScript ( g ) ; } ) ; } ) ; } ) ;