Skip to content

Commit 9eaddb4

Browse files
Merge pull request #15445 from RyanCavanaugh/sessionBackCompat
Add compat overload to Session constructor
2 parents 47e5569 + 9ce6b35 commit 9eaddb4

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

src/server/session.ts

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,41 @@ namespace ts.server {
368368
protected logger: Logger;
369369
private canUseEvents: boolean;
370370

371-
constructor(opts: SessionOptions) {
371+
// New ctor
372+
constructor(opts: SessionOptions);
373+
// Back-compat ctor, remove / deprecate
374+
constructor(
375+
/*0*/ host: ServerHost,
376+
/*1*/ cancellationToken: ServerCancellationToken,
377+
/*2*/ useSingleInferredProject: boolean,
378+
/*3*/ typingsInstaller: ITypingsInstaller,
379+
/*4*/ byteLength: (buf: string, encoding?: string) => number,
380+
/*5*/ hrtime: (start?: number[]) => number[],
381+
/*6*/ logger: server.Logger,
382+
/*7*/ canUseEvents: boolean,
383+
/*8*/ eventHandler?: ProjectServiceEventHandler,
384+
/*9*/ throttleWaitMilliseconds?: number);
385+
// Implementation
386+
constructor(optsOrArg: SessionOptions | ServerHost) {
387+
let opts: SessionOptions;
388+
if (arguments.length === 1) {
389+
opts = optsOrArg as SessionOptions;
390+
}
391+
else {
392+
opts = {
393+
host: arguments[0],
394+
cancellationToken: arguments[1],
395+
useSingleInferredProject: arguments[2],
396+
typingsInstaller: arguments[3],
397+
byteLength: arguments[4],
398+
hrtime: arguments[5],
399+
logger: arguments[6],
400+
canUseEvents: arguments[7],
401+
eventHandler: arguments[8],
402+
throttleWaitMilliseconds: arguments[9]
403+
};
404+
}
405+
372406
this.host = opts.host;
373407
this.cancellationToken = opts.cancellationToken;
374408
this.typingsInstaller = opts.typingsInstaller;

0 commit comments

Comments
 (0)