Skip to content

Commit f0c58f7

Browse files
authored
Merge pull request #2858 from murgatroid99/grpc-js-xds_update_node_types_1.12
grpc-js-xds: Update @types/node and update code for compatibility (1.12.x)
2 parents b6fbfa3 + bc749ac commit f0c58f7

File tree

6 files changed

+12
-12
lines changed

6 files changed

+12
-12
lines changed

packages/grpc-js-xds/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"@types/gulp": "^4.0.6",
3838
"@types/gulp-mocha": "0.0.32",
3939
"@types/mocha": "^5.2.6",
40-
"@types/node": "^13.11.1",
40+
"@types/node": ">=20.11.20",
4141
"@types/yargs": "^15.0.5",
4242
"find-free-ports": "^3.1.1",
4343
"gts": "^5.0.1",

packages/grpc-js-xds/src/load-balancer-priority.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,8 @@ export class PriorityLoadBalancer implements LoadBalancer {
184184
private connectivityState: ConnectivityState = ConnectivityState.IDLE;
185185
private picker: Picker;
186186
private childBalancer: ChildLoadBalancerHandler;
187-
private failoverTimer: NodeJS.Timer | null = null;
188-
private deactivationTimer: NodeJS.Timer | null = null;
187+
private failoverTimer: NodeJS.Timeout | null = null;
188+
private deactivationTimer: NodeJS.Timeout | null = null;
189189
private seenReadyOrIdleSinceTransientFailure = false;
190190
constructor(private parent: PriorityLoadBalancer, private name: string, ignoreReresolutionRequests: boolean) {
191191
this.childBalancer = new ChildLoadBalancerHandler(experimental.createChildChannelControlHelper(this.parent.channelControlHelper, {

packages/grpc-js-xds/src/load-balancer-weighted-target.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ export class WeightedTargetLoadBalancer implements LoadBalancer {
170170
private connectivityState: ConnectivityState = ConnectivityState.IDLE;
171171
private picker: Picker;
172172
private childBalancer: ChildLoadBalancerHandler;
173-
private deactivationTimer: NodeJS.Timer | null = null;
173+
private deactivationTimer: NodeJS.Timeout | null = null;
174174
private weight: number = 0;
175175

176176
constructor(private parent: WeightedTargetLoadBalancer, private name: string) {

packages/grpc-js-xds/src/server.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ interface MatchFieldEvaluator<MatcherType, FieldType> {
460460
isMoreSpecific: (matcher1: MatcherType, matcher2: MatcherType) => boolean;
461461
}
462462

463-
type FieldType<MatcherType> = MatcherType extends CidrRange ? (string | undefined) : MatcherType extends (ConnectionSourceType) ? {localAddress: string, remoteAddress?: (string | undefined)} : MatcherType extends number ? number | undefined : never;
463+
type FieldType<MatcherType> = MatcherType extends CidrRange ? (string | undefined) : MatcherType extends (ConnectionSourceType) ? {localAddress?: (string | undefined), remoteAddress?: (string | undefined)} : MatcherType extends number ? number | undefined : never;
464464

465465
function cidrRangeMatch(range: CidrRange | undefined, address: string | undefined): boolean {
466466
return !range || (!!address && inCidrRange(range, address));
@@ -473,14 +473,14 @@ function cidrRangeMoreSpecific(range1: CidrRange | undefined, range2: CidrRange
473473
return !!range1 && range1.prefixLen > range2.prefixLen;
474474
}
475475

476-
function sourceTypeMatch(sourceType: ConnectionSourceType, addresses: {localAddress: string, remoteAddress?: (string | undefined)}): boolean {
476+
function sourceTypeMatch(sourceType: ConnectionSourceType, addresses: {localAddress?: (string | undefined), remoteAddress?: (string | undefined)}): boolean {
477477
switch (sourceType) {
478478
case "ANY":
479479
return true;
480480
case "SAME_IP_OR_LOOPBACK":
481-
return !!addresses.remoteAddress && isSameIpOrLoopback(addresses.remoteAddress, addresses.localAddress);
481+
return !!addresses.localAddress && !!addresses.remoteAddress && isSameIpOrLoopback(addresses.remoteAddress, addresses.localAddress);
482482
case "EXTERNAL":
483-
return !!addresses.remoteAddress && !isSameIpOrLoopback(addresses.remoteAddress, addresses.localAddress);
483+
return !!addresses.localAddress && !!addresses.remoteAddress && !isSameIpOrLoopback(addresses.remoteAddress, addresses.localAddress);
484484
}
485485
}
486486

@@ -490,7 +490,7 @@ const cidrRangeEvaluator: MatchFieldEvaluator<CidrRange | undefined, string | un
490490
isMoreSpecific: cidrRangeMoreSpecific
491491
};
492492

493-
const sourceTypeEvaluator: MatchFieldEvaluator<ConnectionSourceType, {localAddress: string, remoteAddress?: (string | undefined)}> = {
493+
const sourceTypeEvaluator: MatchFieldEvaluator<ConnectionSourceType, {localAddress?: (string | undefined), remoteAddress?: (string | undefined)}> = {
494494
isMatch: sourceTypeMatch,
495495
matcherEqual: (matcher1, matcher2) => matcher1 === matcher2,
496496
isMoreSpecific: (matcher1, matcher2) => matcher1 !== 'ANY' && matcher2 === 'ANY'

packages/grpc-js-xds/src/xds-client.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ export class Watcher<UpdateType> implements ResourceWatcherInterface {
104104
const RESOURCE_TIMEOUT_MS = 15_000;
105105

106106
class ResourceTimer {
107-
private timer: NodeJS.Timer | null = null;
107+
private timer: NodeJS.Timeout | null = null;
108108
private resourceSeen = false;
109109
constructor(private callState: AdsCallState, private type: XdsResourceType, private name: XdsResourceName) {}
110110

@@ -672,7 +672,7 @@ class ClusterLoadReportMap {
672672
}
673673

674674
class LrsCallState {
675-
private statsTimer: NodeJS.Timer | null = null;
675+
private statsTimer: NodeJS.Timeout | null = null;
676676
private sentInitialMessage = false;
677677
constructor(private client: XdsSingleServerClient, private call: LrsCall, private node: Node) {
678678
call.on('data', (message: LoadStatsResponse__Output) => {

packages/grpc-js-xds/test/client.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ const BOOTSTRAP_CONFIG_KEY = 'grpc.TEST_ONLY_DO_NOT_USE_IN_PROD.xds_bootstrap_co
4242

4343
export class XdsTestClient {
4444
private client: EchoTestServiceClient;
45-
private callInterval: NodeJS.Timer;
45+
private callInterval: NodeJS.Timeout;
4646

4747
constructor(target: string, bootstrapInfo: string, options?: ChannelOptions) {
4848
this.client = new loadedProtos.grpc.testing.EchoTestService(target, credentials.createInsecure(), {...options, [BOOTSTRAP_CONFIG_KEY]: bootstrapInfo});

0 commit comments

Comments
 (0)