define("vs/language/typescript/monaco.contribution",["require","exports","../../editor.api-i0YVFWkl"],(function(S,n,a){"use strict";const y="5.4.5";var u=(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.ES2015=5]="ES2015",e[e.ESNext=99]="ESNext",e))(u||{}),c=(e=>(e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative",e[e.ReactJSX=4]="ReactJSX",e[e.ReactJSXDev=5]="ReactJSXDev",e))(c||{}),l=(e=>(e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed",e))(l||{}),g=(e=>(e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest",e))(g||{}),b=(e=>(e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs",e))(b||{});class _{constructor(t,s,i,r,o){this._onDidChange=new a.Emitter,this._onDidExtraLibsChange=new a.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(t),this.setDiagnosticsOptions(s),this.setWorkerOptions(i),this.setInlayHintsOptions(r),this.setModeConfiguration(o),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(t,s){let i;if(typeof s>"u"?i=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:i=s,this._extraLibs[i]&&this._extraLibs[i].content===t)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[i]&&(r=this._removedExtraLibs[i]+1),this._extraLibs[i]&&(r=this._extraLibs[i].version+1),this._extraLibs[i]={content:t,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let o=this._extraLibs[i];o&&o.version===r&&(delete this._extraLibs[i],this._removedExtraLibs[i]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(t){for(const s in this._extraLibs)this._removedExtraLibs[s]=this._extraLibs[s].version;if(this._extraLibs=Object.create(null),t&&t.length>0)for(const s of t){const i=s.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,r=s.content;let o=1;this._removedExtraLibs[i]&&(o=this._removedExtraLibs[i]+1),this._extraLibs[i]={content:r,version:o}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(t){this._compilerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(t){this._workerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(t){this._inlayHintsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(t){}setEagerModelSync(t){this._eagerModelSync=t}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(void 0)}}const v=y,L={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},f=new _({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},L),d=new _({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},L),E=()=>h().then(e=>e.getTypeScriptWorker()),m=()=>h().then(e=>e.getJavaScriptWorker());a.languages.typescript={ModuleKind:u,JsxEmit:c,NewLineKind:l,ScriptTarget:g,ModuleResolutionKind:b,typescriptVersion:v,typescriptDefaults:f,javascriptDefaults:d,getTypeScriptWorker:E,getJavaScriptWorker:m};function h(){return new Promise((e,t)=>S(["../../tsMode-i88JHxDY"],e,t))}a.languages.onLanguage("typescript",()=>h().then(e=>e.setupTypeScript(f))),a.languages.onLanguage("javascript",()=>h().then(e=>e.setupJavaScript(d))),n.JsxEmit=c,n.ModuleKind=u,n.ModuleResolutionKind=b,n.NewLineKind=l,n.ScriptTarget=g,n.getJavaScriptWorker=m,n.getTypeScriptWorker=E,n.javascriptDefaults=d,n.typescriptDefaults=f,n.typescriptVersion=v,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
