Skip to content
This repository was archived by the owner on Oct 16, 2020. It is now read-only.

Commit dd0a3cc

Browse files
committed
build: fix compile errors
1 parent 5b3fd41 commit dd0a3cc

File tree

3 files changed

+31
-15
lines changed

3 files changed

+31
-15
lines changed

src/connection.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ export function registerLanguageHandler(
302302
error: {
303303
message: err.message + '',
304304
code: typeof err.code === 'number' ? err.code : ErrorCodes.UnknownErrorCode,
305-
data: omit<any, any>(err, ['message', 'code'])
305+
data: omit(err, ['message', 'code'])
306306
}
307307
})
308308
})

src/packages.ts

+14-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { EventEmitter } from 'events'
33
import { Span } from 'opentracing'
44
import * as path from 'path'
55
import { Observable, Subscription } from 'rxjs'
6+
import { SelectorMethodSignature } from 'rxjs/observable/FromEventObservable'
67
import * as url from 'url'
78
import { Disposable } from './disposable'
89
import { FileSystemUpdater } from './fs'
@@ -32,6 +33,18 @@ export interface PackageJson {
3233
}
3334
}
3435

36+
export const DEPENDENCY_KEYS: ReadonlyArray<
37+
'dependencies' |
38+
'devDependencies' |
39+
'peerDependencies' |
40+
'optionalDependencies'
41+
> = [
42+
'dependencies',
43+
'devDependencies',
44+
'peerDependencies',
45+
'optionalDependencies'
46+
]
47+
3548
/**
3649
* Matches:
3750
*
@@ -96,7 +109,7 @@ export class PackageManager extends EventEmitter implements Disposable {
96109
let rootPackageJsonLevel = Infinity
97110
// Find locations of package.jsons _not_ inside node_modules
98111
this.subscriptions.add(
99-
Observable.fromEvent<[string, string]>(this.inMemoryFileSystem, 'add', Array.of)
112+
Observable.fromEvent(this.inMemoryFileSystem, 'add', Array.of as SelectorMethodSignature<[string, string]>)
100113
.subscribe(([uri, content]) => {
101114
const parts = url.parse(uri)
102115
if (!parts.pathname || !parts.pathname.endsWith('/package.json') || parts.pathname.includes('/node_modules/')) {

src/typescript-service.ts

+16-13
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Operation } from 'fast-json-patch'
22
import iterate from 'iterare'
3-
import { toPairs } from 'lodash'
43
import { castArray, merge, omit } from 'lodash'
4+
import { toPairs } from 'lodash'
55
import hashObject = require('object-hash')
66
import { Span } from 'opentracing'
77
import { Observable } from 'rxjs'
@@ -40,7 +40,7 @@ import { FileSystem, FileSystemUpdater, LocalFileSystem, RemoteFileSystem } from
4040
import { LanguageClient } from './lang-handler'
4141
import { Logger, LSPLogger } from './logging'
4242
import { InMemoryFileSystem, isTypeScriptLibrary } from './memfs'
43-
import { extractDefinitelyTypedPackageName, extractNodeModulesPackageName, PackageJson, PackageManager } from './packages'
43+
import { DEPENDENCY_KEYS, extractDefinitelyTypedPackageName, extractNodeModulesPackageName, PackageJson, PackageManager } from './packages'
4444
import { ProjectConfiguration, ProjectManager } from './project-manager'
4545
import {
4646
CompletionItem,
@@ -582,10 +582,13 @@ export class TypeScriptService {
582582
|| info.kind !== ts.ScriptElementKind.constructorImplementationElement
583583
))
584584
// Make proper adjectives
585-
.map(mod => ({
586-
[ts.ScriptElementKindModifier.ambientModifier]: 'ambient',
587-
[ts.ScriptElementKindModifier.exportedModifier]: 'exported'
588-
})[mod] || mod)
585+
.map(mod => {
586+
switch (mod) {
587+
case ts.ScriptElementKindModifier.ambientModifier: return 'ambient'
588+
case ts.ScriptElementKindModifier.exportedModifier: return 'exported'
589+
default: return mod
590+
}
591+
})
589592
if (modifiers.length > 0) {
590593
kind += ' _(' + modifiers.join(', ') + ')_'
591594
}
@@ -714,7 +717,7 @@ export class TypeScriptService {
714717
throw new Error(`Could not find tsconfig for ${packageRootUri}`)
715718
}
716719
// Don't match PackageDescriptor on symbols
717-
return this._getSymbolsInConfig(config, omit<Partial<SymbolDescriptor>, Partial<SymbolDescriptor>>(params.symbol!, 'package'), span)
720+
return this._getSymbolsInConfig(config, omit(params.symbol!, 'package'), span)
718721
}))
719722
}
720723
// Regular workspace symbol search
@@ -801,7 +804,7 @@ export class TypeScriptService {
801804
* @return Observable of JSON Patches that build a `ReferenceInformation[]` result
802805
*/
803806
public workspaceXreferences(params: WorkspaceReferenceParams, span = new Span()): Observable<Operation> {
804-
const queryWithoutPackage = omit<Partial<SymbolDescriptor>, Partial<SymbolDescriptor>>(params.query, 'package')
807+
const queryWithoutPackage = omit(params.query, 'package')
805808
const minScore = Math.min(4.75, getPropertyCount(queryWithoutPackage))
806809
return this.isDefinitelyTyped
807810
.mergeMap(isDefinitelyTyped => {
@@ -944,10 +947,10 @@ export class TypeScriptService {
944947
repoURL: typeof packageJson.repository === 'object' && packageJson.repository.url || undefined
945948
}
946949
// Collect all dependencies for this package.json
947-
return Observable.of<keyof PackageJson>('dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies')
950+
return Observable.from(DEPENDENCY_KEYS)
948951
.filter(key => !!packageJson[key])
949952
// Get [name, version] pairs
950-
.mergeMap(key => toPairs(packageJson[key]) as [string, string][])
953+
.mergeMap(key => toPairs(packageJson[key]))
951954
// Map to DependencyReferences
952955
.map(([name, version]): DependencyReference => ({
953956
attributes: {
@@ -986,10 +989,10 @@ export class TypeScriptService {
986989
.mergeMap(uri => this.packageManager.getPackageJson(uri))
987990
// Map package.json to DependencyReferences
988991
.mergeMap(packageJson =>
989-
Observable.of<keyof PackageJson>('dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies')
992+
Observable.from(DEPENDENCY_KEYS)
990993
.filter(key => !!packageJson[key])
991994
// Get [name, version] pairs
992-
.mergeMap(key => toPairs(packageJson[key]) as [string, string][])
995+
.mergeMap(key => toPairs(packageJson[key]))
993996
.map(([name, version]): DependencyReference => ({
994997
attributes: {
995998
name,
@@ -1458,7 +1461,7 @@ export class TypeScriptService {
14581461
// Same score for all
14591462
.map(item => [1, navigateToItemToSymbolInformation(item, program, this.root)] as [number, SymbolInformation])
14601463
} else {
1461-
const queryWithoutPackage = query && omit<Partial<SymbolDescriptor>, Partial<SymbolDescriptor>>(query, 'package') as SymbolDescriptor
1464+
const queryWithoutPackage = query && omit(query, 'package') as SymbolDescriptor
14621465
// Require at least 2 properties to match (or all if less provided)
14631466
const minScore = Math.min(2, getPropertyCount(query))
14641467
const minScoreWithoutPackage = Math.min(2, getPropertyCount(queryWithoutPackage))

0 commit comments

Comments
 (0)