typescript-language-server / typescript-language-server

TypeScript & JavaScript Language Server

Home Page:https://www.npmjs.com/package/typescript-language-server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Invalid completions

yxshv opened this issue · comments

commented

In the following code I've been trying to get completions just after ...: Jus

type JustATest  = {
    a: string,
    b: number
}
const abcd: Jus
// here--------^

So I send a request but got incorrect completions

const textDocument = {
  uri: 'file:///Users/balkrishnaverma/Documents/yash/testum/src/index.ts',
  languageId: 'typescript',
  text: `type JustATest  = {
  a: string,
  b: number
}
const abcd: Jus`
};

  
connection.sendRequest('textDocument/completion', {
  textDocument: textDocument,
  position: { line: 4, character: 15 },
  includeCompletionsForImportStatements: true,
  includeCompletionsWithSnippetText: true,
}).then((result) => {
  console.log((result as any).items[0])
}).catch(e => console.log(e));

initialize request and textDocument/didOpen notification has been sent before this

and the output is AbortController which is nowhere close to what is already typed

{
  label: 'AbortController',
  kind: 6,
  sortText: '5',
  data: { cacheId: 1 }
}

Works for me in an editor. I'd suggest trying the same action in an editor of your choice and logging the requests/responses to find out the differences (paying special attention to requests triggered and their payloads). It's most likely a problem with wrong requests or project configuration.

commented

Works for me in an editor. I'd suggest trying the same action in an editor of your choice and logging the requests/responses to find out the differences (paying special attention to requests triggered and their payloads). It's most likely a problem with wrong the requests or project configuration.

I am using vscode, and i am not sure how would i check the requests its making

Here is the log from my editor of choice:

Log
:: [10:03:52.312] --> LSP-typescript initialize (1): {'workspaceFolders': [{'name': 'typescript-language-server', 'uri': 'file:///usr/local/workspace/github/typescript-language-server'}], 'clientInfo': {'name': 'Sublime Text LSP', 'version': '1.26.0'}, 'rootPath': '/usr/local/workspace/github/typescript-language-server', 'capabilities': {'workspace': {'semanticTokens': {'refreshSupport': True}, 'codeLens': {'refreshSupport': True}, 'symbol': {'dynamicRegistration': True, 'symbolKind': {'valueSet': [3, 5, 25, 18, 15, 10, 20, 4, 19, 14, 7, 13, 21, 23, 2, 9, 6, 12, 8, 22, 24, 1, 11, 16, 17, 26]}, 'tagSupport': {'valueSet': [1]}, 'resolveSupport': {'properties': ['location.range']}}, 'workspaceEdit': {'documentChanges': True, 'failureHandling': 'abort'}, 'executeCommand': {}, 'applyEdit': True, 'diagnostics': {'refreshSupport': True}, 'workspaceFolders': True, 'inlayHint': {'refreshSupport': True}, 'didChangeConfiguration': {'dynamicRegistration': True}, 'configuration': True, 'didChangeWatchedFiles': {'dynamicRegistration': True}}, 'general': {'regularExpressions': {'engine': 'ECMAScript'}, 'markdown': {'version': '3.2.2', 'parser': 'Python-Markdown'}}, 'window': {'showDocument': {'support': True}, 'workDoneProgress': True, 'showMessage': {'messageActionItem': {'additionalPropertiesSupport': True}}}, 'textDocument': {'semanticTokens': {'tokenTypes': ['namespace', 'class', 'operator', 'regexp', 'event', 'enum', 'type', 'struct', 'string', 'modifier', 'decorator', 'property', 'comment', 'parameter', 'macro', 'variable', 'function', 'enumMember', 'keyword', 'interface', 'number', 'method', 'typeParameter'], 'multilineTokenSupport': True, 'overlappingTokenSupport': False, 'formats': ['relative'], 'requests': {'range': True, 'full': {'delta': True}}, 'tokenModifiers': ['abstract', 'documentation', 'declaration', 'async', 'defaultLibrary', 'modification', 'definition', 'readonly', 'static', 'deprecated'], 'dynamicRegistration': True, 'augmentsSyntaxTokens': True}, 'selectionRange': {'dynamicRegistration': True}, 'rename': {'prepareSupport': True, 'dynamicRegistration': True, 'prepareSupportDefaultBehavior': 1}, 'hover': {'dynamicRegistration': True, 'contentFormat': ['markdown', 'plaintext']}, 'documentHighlight': {'dynamicRegistration': True}, 'implementation': {'linkSupport': True, 'dynamicRegistration': True}, 'documentLink': {'tooltipSupport': True, 'dynamicRegistration': True}, 'callHierarchy': {'dynamicRegistration': True}, 'rangeFormatting': {'rangesSupport': True, 'dynamicRegistration': True}, 'colorProvider': {'dynamicRegistration': True}, 'completion': {'insertTextMode': 2, 'dynamicRegistration': True, 'completionList': {'itemDefaults': ['editRange', 'insertTextFormat', 'data']}, 'completionItem': {'deprecatedSupport': True, 'resolveSupport': {'properties': ['detail', 'documentation', 'additionalTextEdits']}, 'insertTextModeSupport': {'valueSet': [2]}, 'snippetSupport': True, 'tagSupport': {'valueSet': [1]}, 'documentationFormat': ['markdown', 'plaintext'], 'insertReplaceSupport': True, 'labelDetailsSupport': True}, 'completionItemKind': {'valueSet': [7, 24, 17, 23, 13, 15, 1, 19, 21, 10, 6, 11, 22, 9, 4, 2, 3, 5, 20, 14, 16, 8, 18, 12, 25]}}, 'definition': {'linkSupport': True, 'dynamicRegistration': True}, 'formatting': {'dynamicRegistration': True}, 'typeHierarchy': {'dynamicRegistration': True}, 'typeDefinition': {'linkSupport': True, 'dynamicRegistration': True}, 'codeAction': {'dataSupport': True, 'dynamicRegistration': True, 'isPreferredSupport': True, 'codeActionLiteralSupport': {'codeActionKind': {'valueSet': ['quickfix', 'refactor', 'refactor.extract', 'refactor.inline', 'refactor.rewrite', 'source.fixAll', 'source.organizeImports']}}, 'resolveSupport': {'properties': ['edit']}}, 'references': {'dynamicRegistration': True}, 'diagnostic': {'dynamicRegistration': True, 'relatedDocumentSupport': True}, 'documentSymbol': {'hierarchicalDocumentSymbolSupport': True, 'dynamicRegistration': True, 'symbolKind': {'valueSet': [3, 5, 25, 18, 15, 10, 20, 4, 19, 14, 7, 13, 21, 23, 2, 9, 6, 12, 8, 22, 24, 1, 11, 16, 17, 26]}, 'tagSupport': {'valueSet': [1]}}, 'codeLens': {'dynamicRegistration': True}, 'declaration': {'linkSupport': True, 'dynamicRegistration': True}, 'publishDiagnostics': {'dataSupport': True, 'relatedInformation': True, 'tagSupport': {'valueSet': [2, 1]}, 'codeDescriptionSupport': True, 'versionSupport': True}, 'synchronization': {'willSave': True, 'willSaveWaitUntil': True, 'dynamicRegistration': True, 'didSave': True}, 'inlayHint': {'dynamicRegistration': True, 'resolveSupport': {'properties': ['textEdits', 'label.command']}}, 'signatureHelp': {'contextSupport': True, 'dynamicRegistration': True, 'signatureInformation': {'parameterInformation': {'labelOffsetSupport': True}, 'activeParameterSupport': True, 'documentationFormat': ['markdown', 'plaintext']}}, 'foldingRange': {'dynamicRegistration': True, 'foldingRangeKind': {'valueSet': ['comment', 'imports', 'region']}}}}, 'initializationOptions': {'maxTsServerMemory': 0, 'completionDisableFilterText': True, 'plugins': [], 'disableAutomaticTypingAcquisition': True, 'preferences': {'allowRenameOfImportPath': True, 'useLabelDetailsInCompletionEntries': True, 'includeCompletionsWithClassMemberSnippets': True, 'jsxAttributeCompletionStyle': 'auto', 'provideRefactorNotApplicableReason': True, 'autoImportFileExcludePatterns': ['**/node_modules/aws-sdk'], 'interactiveInlayHints': True, 'providePrefixAndSuffixTextForRename': True, 'includeCompletionsWithObjectLiteralMethodSnippets': True, 'generateReturnInDocTemplate': True, 'includeCompletionsForImportStatements': True, 'organizeImportsCollation': 'ordinal', 'includeCompletionsForModuleExports': True, 'organizeImportsIgnoreCase': 'auto', 'includeAutomaticOptionalChainCompletions': True, 'disableSuggestions': False, 'includeCompletionsWithSnippetText': True, 'lazyConfiguredProjectsFromExternalProject': False, 'includePackageJsonAutoImports': 'auto', 'importModuleSpecifierPreference': 'shortest', 'includeCompletionsWithInsertText': True, 'quotePreference': 'auto', 'displayPartsForJSDoc': True, 'importModuleSpecifierEnding': 'auto', 'organizeImportsNumericCollation': False, 'organizeImportsAccentCollation': True, 'allowTextChangesInNewFiles': True, 'organizeImportsCollationLocale': 'en', 'allowIncompleteCompletions': True, 'organizeImportsCaseFirst': False}, 'npmLocation': '', 'locale': 'en', 'tsserver': {'useSyntaxServer': 'auto', 'logVerbosity': 'off', 'trace': 'off', 'logDirectory': '', 'path': ''}}, 'rootUri': 'file:///usr/local/workspace/github/typescript-language-server', 'processId': 51492}
:: [10:03:52.313] <<< LSP-typescript (4) (duration: 31ms): [{'command': {'command': '_typescript.applyRefactoring', 'arguments': [{'file': '/usr/local/workspace/github/typescript-language-server/src/test.ts', 'action': 'Extract to type alias', 'endLine': 5, 'refactor': 'Extract type', 'endOffset': 16, 'startOffset': 13, 'startLine': 5}], 'title': 'Extract to type alias'}, 'title': 'Extract to type alias', 'kind': 'refactor'}, {'command': {'command': '_typescript.applyRefactoring', 'arguments': [{'file': '/usr/local/workspace/github/typescript-language-server/src/test.ts', 'action': 'Move to a new file', 'endLine': 5, 'refactor': 'Move to a new file', 'endOffset': 16, 'startOffset': 13, 'startLine': 5}], 'title': 'Move to a new file'}, 'title': 'Move to a new file', 'kind': 'refactor.move'}]
:: [10:03:52.313] <<< LSP-typescript (5) (duration: 20ms): None
:: [10:03:52.313]  -> LSP-typescript exit: None
LSP-typescript: Using Typescript version (workspace) 5.2.2 from path "/usr/local/workspace/github/typescript-language-server/node_modules/typescript/lib/tsserver.js"
:: [10:03:52.432] <-  LSP-typescript window/logMessage: {'type': 3, 'message': 'Using Typescript version (workspace) 5.2.2 from path "/usr/local/workspace/github/typescript-language-server/node_modules/typescript/lib/tsserver.js"'}
:: [10:03:52.432] <-- LSP-typescript window/workDoneProgress/create (0): {'token': '5bc21150-b7e6-4772-bb8e-1aa3ddbf6ff6'}
:: [10:03:52.432] >>> LSP-typescript (0) (duration: 0ms): None
:: [10:03:52.432] <<< LSP-typescript (1) (duration: 120ms): {'capabilities': {'workspace': {'fileOperations': {'willRename': {'filters': [{'pattern': {'matches': 'file', 'glob': '**/*.{ts,js,jsx,tsx,mjs,mts,cjs,cts}'}, 'scheme': 'file'}]}}}, 'workspaceSymbolProvider': True, 'selectionRangeProvider': True, 'foldingRangeProvider': True, 'codeLensProvider': {'resolveProvider': True}, 'semanticTokensProvider': {'legend': {'tokenTypes': ['class', 'enum', 'interface', 'namespace', 'typeParameter', 'type', 'parameter', 'variable', 'enumMember', 'property', 'function', 'member'], 'tokenModifiers': ['declaration', 'static', 'async', 'readonly', 'defaultLibrary', 'local']}, 'documentSelector': None, 'range': True, 'full': True}, 'textDocumentSync': {'didClose': {}, 'change': {'syncKind': 2}, 'didOpen': {}, 'save': {}}, 'hoverProvider': True, 'documentSymbolProvider': True, 'renameProvider': {'prepareProvider': True}, 'implementationProvider': True, 'completionProvider': {'resolveProvider': True, 'triggerCharacters': ['.', '"', "'", '/', '@', '<']}, 'documentRangeFormattingProvider': True, 'linkedEditingRangeProvider': False, 'typeDefinitionProvider': True, 'documentFormattingProvider': True, 'codeActionProvider': {'codeActionKinds': ['source.fixAll.ts', 'source.removeUnused.ts', 'source.addMissingImports.ts', 'source.organizeImports.ts', 'source.removeUnusedImports.ts', 'source.sortImports.ts', 'quickfix', 'refactor']}, 'executeCommandProvider': {'commands': ['_typescript.applyWorkspaceEdit', '_typescript.applyCodeAction', '_typescript.applyRefactoring', '_typescript.configurePlugin', '_typescript.organizeImports', '_typescript.applyRenameFile', '_typescript.goToSourceDefinition']}, 'definitionProvider': True, 'documentHighlightProvider': True, 'inlayHintProvider': True, 'callHierarchyProvider': True, 'referencesProvider': True, 'signatureHelpProvider': {'retriggerCharacters': [')'], 'triggerCharacters': ['(', ',', '<']}}}
:: [10:03:52.433]  -> LSP-typescript initialized: {}
:: [10:03:52.435]  -> LSP-typescript workspace/didChangeConfiguration: {'settings': {'implicitProjectConfiguration': {'experimentalDecorators': False, 'strictNullChecks': True, 'strictFunctionTypes': True, 'checkJs': False, 'target': 'ES2020', 'module': 'ESNext'}, 'diagnostics': {'ignoredCodes': []}, 'typescript': {'referencesCodeLens': {'enabled': True, 'showOnAllFunctions': True}, 'implementationsCodeLens': {'enabled': True}, 'format': {'insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis': False, 'insertSpaceAfterTypeAssertion': False, 'semicolons': 'ignore', 'insertSpaceBeforeAndAfterBinaryOperators': True, 'placeOpenBraceOnNewLineForControlBlocks': False, 'insertSpaceAfterSemicolonInForStatements': True, 'insertSpaceAfterCommaDelimiter': True, 'insertSpaceAfterConstructor': False, 'insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces': True, 'insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces': False, 'placeOpenBraceOnNewLineForFunctions': False, 'insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets': False, 'insertSpaceAfterOpeningAndBeforeClosingEmptyBraces': False, 'insertSpaceBeforeTypeAnnotation': False, 'insertSpaceBeforeFunctionParenthesis': False, 'insertSpaceAfterFunctionKeywordForAnonymousFunctions': True, 'insertSpaceAfterKeywordsInControlFlowStatements': True, 'insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces': False, 'trimTrailingWhitespace': True}, 'inlayHints': {'includeInlayVariableTypeHints': True, 'includeInlayParameterNameHints': 'literals', 'includeInlayPropertyDeclarationTypeHints': True, 'includeInlayVariableTypeHintsWhenTypeMatchesName': False, 'includeInlayFunctionParameterTypeHints': True, 'includeInlayEnumMemberValueHints': True, 'includeInlayParameterNameHintsWhenArgumentMatchesName': False, 'includeInlayFunctionLikeReturnTypeHints': False}}, 'statusText': ', ', 'javascript': {'referencesCodeLens': {'enabled': True, 'showOnAllFunctions': True}, 'implementationsCodeLens': {'enabled': True}, 'format': {'insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis': False, 'insertSpaceAfterTypeAssertion': False, 'semicolons': 'ignore', 'insertSpaceBeforeAndAfterBinaryOperators': True, 'placeOpenBraceOnNewLineForControlBlocks': False, 'insertSpaceAfterSemicolonInForStatements': True, 'insertSpaceAfterCommaDelimiter': True, 'insertSpaceAfterConstructor': False, 'insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces': True, 'insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces': False, 'placeOpenBraceOnNewLineForFunctions': False, 'insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets': False, 'insertSpaceAfterOpeningAndBeforeClosingEmptyBraces': False, 'insertSpaceBeforeTypeAnnotation': False, 'insertSpaceBeforeFunctionParenthesis': False, 'insertSpaceAfterFunctionKeywordForAnonymousFunctions': True, 'insertSpaceAfterKeywordsInControlFlowStatements': True, 'insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces': False, 'trimTrailingWhitespace': True}, 'inlayHints': {'includeInlayVariableTypeHints': True, 'includeInlayParameterNameHints': 'all', 'includeInlayPropertyDeclarationTypeHints': True, 'includeInlayVariableTypeHintsWhenTypeMatchesName': False, 'includeInlayFunctionParameterTypeHints': True, 'includeInlayEnumMemberValueHints': True, 'includeInlayParameterNameHintsWhenArgumentMatchesName': False, 'includeInlayFunctionLikeReturnTypeHints': True}}}}
:: [10:03:52.436] <-  LSP-typescript $/progress: {'value': {'title': 'Initializing JS/TS language features…', 'kind': 'begin'}, 'token': '5bc21150-b7e6-4772-bb8e-1aa3ddbf6ff6'}
:: [10:03:52.436] <-  LSP-typescript $/typescriptVersion: {'source': 'workspace', 'version': '5.2.2'}
:: [10:03:52.443]  -> LSP-typescript textDocument/didOpen: {'textDocument': {'uri': 'file:///usr/local/workspace/github/typescript-language-server/src/test.ts', 'languageId': 'typescript', 'text': 'type JustATest  = {\n    a: string,\n    b: number\n}\nconst abcd: Jus\n', 'version': 2}}
:: [10:03:52.627] <-- LSP-typescript window/workDoneProgress/create (1): {'token': '0d87bc06-9a0b-4b9d-856e-3f5a4cc9c386'}
:: [10:03:52.627] >>> LSP-typescript (1) (duration: 0ms): None
:: [10:03:52.627] <-  LSP-typescript $/progress: {'value': {'kind': 'end'}, 'token': '5bc21150-b7e6-4772-bb8e-1aa3ddbf6ff6'}
:: [10:03:52.627] <-  LSP-typescript $/progress: {'value': {'title': 'Initializing JS/TS language features…', 'kind': 'begin'}, 'token': '0d87bc06-9a0b-4b9d-856e-3f5a4cc9c386'}
:: [10:03:53.200] <-  LSP-typescript $/progress: {'value': {'kind': 'end'}, 'token': '0d87bc06-9a0b-4b9d-856e-3f5a4cc9c386'}
:: [10:03:53.260] <-  LSP-typescript textDocument/publishDiagnostics: {'uri': 'file:///usr/local/workspace/github/typescript-language-server/src/test.ts', 'diagnostics': [{'severity': 1, 'range': {'end': {'character': 14, 'line': 0}, 'start': {'character': 5, 'line': 0}}, 'message': "'JustATest' is declared but never used.", 'tags': [1], 'source': 'typescript', 'code': 6196}, {'severity': 1, 'range': {'end': {'character': 10, 'line': 4}, 'start': {'character': 6, 'line': 4}}, 'message': "'const' declarations must be initialized.", 'tags': [], 'source': 'typescript', 'code': 1155}, {'severity': 1, 'range': {'end': {'character': 10, 'line': 4}, 'start': {'character': 6, 'line': 4}}, 'message': "'abcd' is declared but its value is never read.", 'tags': [1], 'source': 'typescript', 'code': 6133}, {'severity': 1, 'range': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'message': "Cannot find name 'Jus'.", 'tags': [], 'source': 'typescript', 'code': 2304}]}
:: [10:03:54.697] --> LSP-typescript textDocument/completion (2): {'position': {'character': 15, 'line': 4}, 'textDocument': {'uri': 'file:///usr/local/workspace/github/typescript-language-server/src/test.ts'}}
:: [10:03:54.777] <<< LSP-typescript (2) (duration: 79ms): {'isIncomplete': False, 'items': [{'data': {'cacheId': 1}, 'label': 'JustATest', 'sortText': '11', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'JustATest', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 2}, 'label': 'AbortController', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'AbortController', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 3}, 'label': 'AbortSignal', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'AbortSignal', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 4}, 'label': 'any', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'any', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 5}, 'label': 'Array', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Array', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 6}, 'label': 'ArrayBuffer', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ArrayBuffer', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 7}, 'label': 'ArrayBufferConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ArrayBufferConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 8}, 'label': 'ArrayBufferLike', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ArrayBufferLike', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 9}, 'label': 'ArrayBufferTypes', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ArrayBufferTypes', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 10}, 'label': 'ArrayBufferView', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ArrayBufferView', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 11}, 'label': 'ArrayConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ArrayConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 12}, 'label': 'ArrayLike', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ArrayLike', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 13}, 'label': 'asserts', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'asserts', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 14}, 'label': 'AsyncDisposable', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'AsyncDisposable', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 15}, 'label': 'AsyncGenerator', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'AsyncGenerator', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 16}, 'label': 'AsyncGeneratorFunction', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'AsyncGeneratorFunction', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 17}, 'label': 'AsyncGeneratorFunctionConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'AsyncGeneratorFunctionConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 18}, 'label': 'AsyncIterable', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'AsyncIterable', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 19}, 'label': 'AsyncIterableIterator', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'AsyncIterableIterator', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 20}, 'label': 'AsyncIterator', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'AsyncIterator', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 21}, 'label': 'Atomics', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Atomics', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 22}, 'label': 'Awaited', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Awaited', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 23}, 'label': 'babel', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'babel', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 24}, 'label': 'bigint', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'bigint', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 25}, 'label': 'BigInt', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'BigInt', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 26}, 'label': 'BigInt64Array', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'BigInt64Array', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 27}, 'label': 'BigInt64ArrayConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'BigInt64ArrayConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 28}, 'label': 'BigIntConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'BigIntConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 29}, 'label': 'BigIntToLocaleStringOptions', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'BigIntToLocaleStringOptions', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 30}, 'label': 'BigUint64Array', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'BigUint64Array', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 31}, 'label': 'BigUint64ArrayConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'BigUint64ArrayConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 32}, 'label': 'Blob', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Blob', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 33}, 'label': 'boolean', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'boolean', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 34}, 'label': 'Boolean', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Boolean', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 35}, 'label': 'BooleanConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'BooleanConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 36}, 'label': 'Buffer', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Buffer', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 37}, 'label': 'BufferConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'BufferConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 38}, 'label': 'BufferEncoding', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'BufferEncoding', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 39}, 'label': 'CallableFunction', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'CallableFunction', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 40}, 'label': 'Capitalize', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Capitalize', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 41}, 'label': 'ClassAccessorDecoratorContext', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ClassAccessorDecoratorContext', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 42}, 'label': 'ClassAccessorDecoratorResult', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ClassAccessorDecoratorResult', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 43}, 'label': 'ClassAccessorDecoratorTarget', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ClassAccessorDecoratorTarget', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 44}, 'label': 'ClassDecorator', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ClassDecorator', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 45}, 'label': 'ClassDecoratorContext', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ClassDecoratorContext', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 46}, 'label': 'ClassFieldDecoratorContext', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ClassFieldDecoratorContext', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 47}, 'label': 'ClassGetterDecoratorContext', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ClassGetterDecoratorContext', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 48}, 'label': 'ClassMemberDecoratorContext', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ClassMemberDecoratorContext', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 49}, 'label': 'ClassMethodDecoratorContext', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ClassMethodDecoratorContext', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 50}, 'label': 'ClassSetterDecoratorContext', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ClassSetterDecoratorContext', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 51}, 'label': 'ConcatArray', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ConcatArray', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 52}, 'label': 'console', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'console', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 53}, 'label': 'Console', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Console', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 54}, 'label': 'ConstructorParameters', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ConstructorParameters', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 55}, 'label': 'DataView', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'DataView', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 56}, 'label': 'DataViewConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'DataViewConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 57}, 'label': 'Date', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Date', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 58}, 'label': 'DateConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'DateConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 59}, 'label': 'DecoratorContext', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'DecoratorContext', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 60}, 'label': 'DecoratorMetadata', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'DecoratorMetadata', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 61}, 'label': 'DecoratorMetadataObject', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'DecoratorMetadataObject', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 62}, 'label': 'DiagnosticData', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'DiagnosticData', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 63}, 'label': 'Disposable', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Disposable', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 64}, 'label': 'Error', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Error', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 65}, 'label': 'ErrorConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ErrorConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 66}, 'label': 'EvalError', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'EvalError', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 67}, 'label': 'EvalErrorConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'EvalErrorConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 68}, 'label': 'Event', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Event', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 69}, 'label': 'EventTarget', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'EventTarget', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 70}, 'label': 'Exclude', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Exclude', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 71}, 'label': 'Extract', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Extract', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 72}, 'label': 'ExtractEachCallbackArgs', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ExtractEachCallbackArgs', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 73}, 'label': 'FakeableAPI', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'FakeableAPI', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 74}, 'label': 'FakeTimersConfig', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'FakeTimersConfig', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 75}, 'label': 'false', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'false', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 76}, 'label': 'FlatArray', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'FlatArray', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 77}, 'label': 'Float32Array', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Float32Array', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 78}, 'label': 'Float32ArrayConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Float32ArrayConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 79}, 'label': 'Float64Array', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Float64Array', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 80}, 'label': 'Float64ArrayConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Float64ArrayConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 81}, 'label': 'FormData', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'FormData', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 82}, 'label': 'Function', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Function', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 83}, 'label': 'FunctionConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'FunctionConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 84}, 'label': 'Generator', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Generator', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 85}, 'label': 'GeneratorFunction', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'GeneratorFunction', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 86}, 'label': 'GeneratorFunctionConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'GeneratorFunctionConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 87}, 'label': 'Global', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Global', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 88}, 'label': 'globalThis', 'sortText': '15', 'kind': 9, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'globalThis', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 89}, 'label': 'Headers', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Headers', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 90}, 'label': 'IArguments', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'IArguments', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 91}, 'label': 'ImportAssertions', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ImportAssertions', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 92}, 'label': 'ImportCallOptions', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ImportCallOptions', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 93}, 'label': 'ImportMeta', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ImportMeta', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 94}, 'label': 'infer', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'infer', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 95}, 'label': 'InstanceType', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'InstanceType', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 96}, 'label': 'Int16Array', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Int16Array', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 97}, 'label': 'Int16ArrayConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Int16ArrayConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 98}, 'label': 'Int32Array', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Int32Array', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 99}, 'label': 'Int32ArrayConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Int32ArrayConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 100}, 'label': 'Int8Array', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Int8Array', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 101}, 'label': 'Int8ArrayConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Int8ArrayConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 102}, 'label': 'Intl', 'sortText': '15', 'kind': 9, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Intl', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 103}, 'label': 'Iterable', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Iterable', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 104}, 'label': 'IterableIterator', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'IterableIterator', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 105}, 'label': 'Iterator', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Iterator', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 106}, 'label': 'IteratorResult', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'IteratorResult', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 107}, 'label': 'IteratorReturnResult', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'IteratorReturnResult', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 108}, 'label': 'IteratorYieldResult', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'IteratorYieldResult', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 109}, 'label': 'jasmine', 'sortText': '15', 'kind': 9, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'jasmine', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 110}, 'label': 'jest', 'sortText': '15', 'kind': 9, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'jest', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 111}, 'label': 'JSON', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'JSON', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 112}, 'label': 'keyof', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'keyof', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 113}, 'label': 'LegacyFakeTimersConfig', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'LegacyFakeTimersConfig', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 114}, 'label': 'Lowercase', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Lowercase', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 115}, 'label': 'Map', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Map', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 116}, 'label': 'MapConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'MapConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 117}, 'label': 'Math', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Math', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 118}, 'label': 'MethodDecorator', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'MethodDecorator', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 119}, 'label': 'never', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'never', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 120}, 'label': 'NewableFunction', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'NewableFunction', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 121}, 'label': 'NodeJS', 'sortText': '15', 'kind': 9, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'NodeJS', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 122}, 'label': 'NodeModule', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'NodeModule', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 123}, 'label': 'NodeRequire', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'NodeRequire', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 124}, 'label': 'NonNullable', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'NonNullable', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 125}, 'label': 'null', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'null', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 126}, 'label': 'number', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'number', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 127}, 'label': 'Number', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Number', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 128}, 'label': 'NumberConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'NumberConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 129}, 'label': 'object', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'object', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 130}, 'label': 'Object', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Object', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 131}, 'label': 'ObjectConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ObjectConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 132}, 'label': 'Omit', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Omit', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 133}, 'label': 'OmitThisParameter', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'OmitThisParameter', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 134}, 'label': 'ParameterDecorator', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ParameterDecorator', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 135}, 'label': 'Parameters', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Parameters', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 136}, 'label': 'Partial', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Partial', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 137}, 'label': 'Pick', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Pick', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 138}, 'label': 'Promise', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Promise', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 139}, 'label': 'PromiseConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'PromiseConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 140}, 'label': 'PromiseConstructorLike', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'PromiseConstructorLike', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 141}, 'label': 'PromiseFulfilledResult', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'PromiseFulfilledResult', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 142}, 'label': 'PromiseLike', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'PromiseLike', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 143}, 'label': 'PromiseRejectedResult', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'PromiseRejectedResult', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 144}, 'label': 'PromiseSettledResult', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'PromiseSettledResult', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 145}, 'label': 'PropertyDecorator', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'PropertyDecorator', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 146}, 'label': 'PropertyDescriptor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'PropertyDescriptor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 147}, 'label': 'PropertyDescriptorMap', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'PropertyDescriptorMap', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 148}, 'label': 'PropertyKey', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'PropertyKey', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 149}, 'label': 'ProxyConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ProxyConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 150}, 'label': 'ProxyHandler', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ProxyHandler', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 151}, 'label': 'RangeError', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'RangeError', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 152}, 'label': 'RangeErrorConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'RangeErrorConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 153}, 'label': 'readonly', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'readonly', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 154}, 'label': 'Readonly', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Readonly', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 155}, 'label': 'ReadonlyArray', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ReadonlyArray', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 156}, 'label': 'ReadonlyMap', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ReadonlyMap', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 157}, 'label': 'ReadonlySet', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ReadonlySet', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 158}, 'label': 'Record', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Record', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 159}, 'label': 'ReferenceError', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ReferenceError', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 160}, 'label': 'ReferenceErrorConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ReferenceErrorConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 161}, 'label': 'RegExp', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'RegExp', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 162}, 'label': 'RegExpConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'RegExpConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 163}, 'label': 'RegExpExecArray', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'RegExpExecArray', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 164}, 'label': 'RegExpMatchArray', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'RegExpMatchArray', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 165}, 'label': 'RelativeIndexable', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'RelativeIndexable', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 166}, 'label': 'Request', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Request', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 167}, 'label': 'RequestInit', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'RequestInit', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 168}, 'label': 'Required', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Required', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 169}, 'label': 'RequireResolve', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'RequireResolve', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 170}, 'label': 'Response', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Response', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 171}, 'label': 'ReturnType', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ReturnType', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 172}, 'label': 'Set', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Set', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 173}, 'label': 'SetConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'SetConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 174}, 'label': 'SharedArrayBuffer', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'SharedArrayBuffer', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 175}, 'label': 'SharedArrayBufferConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'SharedArrayBufferConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 176}, 'label': 'string', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'string', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 177}, 'label': 'String', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'String', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 178}, 'label': 'StringConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'StringConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 179}, 'label': 'symbol', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'symbol', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 180}, 'label': 'Symbol', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Symbol', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 181}, 'label': 'SymbolConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'SymbolConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 182}, 'label': 'SyntaxError', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'SyntaxError', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 183}, 'label': 'SyntaxErrorConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'SyntaxErrorConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 184}, 'label': 'TemplateStringsArray', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'TemplateStringsArray', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 185}, 'label': 'TestDequeue', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'TestDequeue', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 186}, 'label': 'TestEnqueue', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'TestEnqueue', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 187}, 'label': 'TestFail', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'TestFail', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 188}, 'label': 'TestPass', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'TestPass', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 189}, 'label': 'TestPlan', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'TestPlan', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 190}, 'label': 'TestStart', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'TestStart', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 191}, 'label': 'TestStderr', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'TestStderr', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 192}, 'label': 'TestStdout', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'TestStdout', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 193}, 'label': 'Thenable', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Thenable', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 194}, 'label': 'ThisParameterType', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ThisParameterType', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 195}, 'label': 'ThisType', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'ThisType', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 196}, 'label': 'true', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'true', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 197}, 'label': 'TypedPropertyDescriptor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'TypedPropertyDescriptor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 198}, 'label': 'TypeError', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'TypeError', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 199}, 'label': 'TypeErrorConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'TypeErrorConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 200}, 'label': 'typeof', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'typeof', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 201}, 'label': 'Uint16Array', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Uint16Array', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 202}, 'label': 'Uint16ArrayConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Uint16ArrayConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 203}, 'label': 'Uint32Array', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Uint32Array', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 204}, 'label': 'Uint32ArrayConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Uint32ArrayConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 205}, 'label': 'Uint8Array', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Uint8Array', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 206}, 'label': 'Uint8ArrayConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Uint8ArrayConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 207}, 'label': 'Uint8ClampedArray', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Uint8ClampedArray', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 208}, 'label': 'Uint8ClampedArrayConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Uint8ClampedArrayConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 209}, 'label': 'Uncapitalize', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Uncapitalize', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 210}, 'label': 'undefined', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'undefined', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 211}, 'label': 'unique', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'unique', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 212}, 'label': 'unknown', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'unknown', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 213}, 'label': 'Uppercase', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'Uppercase', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 214}, 'label': 'URIError', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'URIError', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 215}, 'label': 'URIErrorConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'URIErrorConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 216}, 'label': 'URL', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'URL', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 217}, 'label': 'URLSearchParams', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'URLSearchParams', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 218}, 'label': 'void', 'sortText': '15', 'kind': 14, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'void', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 219}, 'label': 'WeakKey', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'WeakKey', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 220}, 'label': 'WeakKeyTypes', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'WeakKeyTypes', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 221}, 'label': 'WeakMap', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'WeakMap', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 222}, 'label': 'WeakMapConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'WeakMapConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 223}, 'label': 'WeakSet', 'sortText': '15', 'kind': 6, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'WeakSet', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 224}, 'label': 'WeakSetConstructor', 'sortText': '15', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'WeakSetConstructor', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 225}, 'label': 'WithImplicitCoercion', 'sortText': '15', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'WithImplicitCoercion', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 226}, 'detail': 'typescript', 'label': 'JSDocAugmentsTag', 'sortText': '\uffff16', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'JSDocAugmentsTag', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 227}, 'detail': 'typescript/lib/tsserverlibrary.js', 'label': 'JSDocAugmentsTag', 'sortText': '\uffff16', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'JSDocAugmentsTag', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 228}, 'detail': 'typescript', 'label': 'JsonMinusNumericLiteral', 'sortText': '\uffff16', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'JsonMinusNumericLiteral', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 229}, 'detail': 'typescript/lib/tsserverlibrary.js', 'label': 'JsonMinusNumericLiteral', 'sortText': '\uffff16', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'JsonMinusNumericLiteral', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 230}, 'detail': 'fs-extra', 'label': 'JsonOutputOptions', 'sortText': '\uffff16', 'kind': 7, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'JsonOutputOptions', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 231}, 'detail': 'typescript', 'label': 'JsxAttributes', 'sortText': '\uffff16', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'JsxAttributes', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}, {'data': {'cacheId': 232}, 'detail': 'typescript/lib/tsserverlibrary.js', 'label': 'JsxAttributes', 'sortText': '\uffff16', 'kind': 8, 'textEdit': {'replace': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}, 'newText': 'JsxAttributes', 'insert': {'end': {'character': 15, 'line': 4}, 'start': {'character': 12, 'line': 4}}}}]}

Pay attention especially to the workspace directory in initialize and didOpen notifications for the files you want to work with.

And I've just noticed that you are passing document text into textDocument/completion. That's not how it works. You have to open the file first with textDocument/didOpen first.

commented

And I've just noticed that you are passing document text into textDocument/completion. That's not how it works. You have to open the file first with textDocument/didOpen first.

lol i mentioned this here
Screenshot 2024-01-02 at 2 40 45 PM

since the code wouldve been too big

commented

here is the code sending the initialize and didOpen notif

await connection.sendRequest('initialize', {
  rootUri: 'file:///Users/balkrishnaverma/Documents/yash/testum',
  capabilities: {},
  processId: process.pid,
}).then((e) => {
  // console.log("i",e)
});

await connection.sendNotification('textDocument/didOpen', {
  textDocument: textDocument
});
commented

The only difference in here and the log you sent is that there is no version in the TextDocument I did had version before it makes no difference

I even copied the preferences from the log, still nothing

commented

Do I need a workspaces? I thought rootUri would be enough

  • Did you try sending workspace/didChangeConfiguration?
  • rootUri is supported. You can check the code
  • The contents of tsconfig.json at the root URI can also make a difference.
  • The initilization of tsserver is async and just doing a programmatic request quickly might result in partial results. You can try adding artificial timeout of 2 seconds or something like that to see if that helps.
commented
  • Did you try sending workspace/didChangeConfiguration?

nope, what for?

and adding a delay also didn't work