Skip to content

Commit edea877

Browse files
committed
refactor: clean up type disparities
1 parent e4eb8db commit edea877

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

packages/core/src/awsService/apprunner/explorer/apprunnerServiceNode.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55

66
import AsyncLock from 'async-lock'
7-
import { AppRunnerClient, AppRunnerService, AppRunnerServiceSummary } from '../../../shared/clients/apprunner'
7+
import { AppRunnerClient, AppRunnerServiceSummary } from '../../../shared/clients/apprunner'
88
import { AppRunner } from 'aws-sdk'
99
import { AppRunnerNode } from './apprunnerNode'
1010

@@ -82,8 +82,7 @@ export class AppRunnerServiceNode extends CloudWatchLogsBase implements AWSResou
8282
this.label = `${this._info.ServiceName} [${displayStatus}]`
8383
}
8484

85-
// eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents
86-
public update(info: AppRunnerServiceSummary | AppRunnerService): void {
85+
public update(info: AppRunnerServiceSummary): void {
8786
// update can be called multiple times during an event loop
8887
// this would rarely cause the node's status to appear as 'Operation in progress'
8988
this.lock
@@ -174,7 +173,7 @@ export class AppRunnerServiceNode extends CloudWatchLogsBase implements AWSResou
174173
}
175174

176175
// eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents
177-
public setOperation(info: AppRunnerService | AppRunnerServiceSummary, id?: string, type?: ServiceOperation): void {
176+
public setOperation(info: AppRunnerServiceSummary, id?: string, type?: ServiceOperation): void {
178177
this.currentOperation.Id = id
179178
this.currentOperation.Type = type
180179
this.update(info)

packages/core/src/shared/clients/apprunner.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ export type AppRunnerServiceSummary = RequiredProps<
4141
'ServiceName' | 'ServiceArn' | 'Status' | 'ServiceId'
4242
>
4343

44-
type WithService<T> = T & { Service: AppRunnerService }
44+
// Note: Many of the requests return a type of Service, but Service <: ServiceSummary.
45+
type WithServiceSummary<T> = Omit<T, 'Service'> & { Service: AppRunnerServiceSummary }
4546

4647
export class AppRunnerClient extends ClientWrapper<AppRunnerClientSDK> {
4748
public constructor(regionCode: string) {
@@ -60,15 +61,15 @@ export class AppRunnerClient extends ClientWrapper<AppRunnerClientSDK> {
6061
return this.makePaginatedRequest(paginateListServices, request, (page) => page.ServiceSummaryList)
6162
}
6263

63-
public async pauseService(request: PauseServiceRequest): Promise<WithService<PauseServiceResponse>> {
64+
public async pauseService(request: PauseServiceRequest): Promise<WithServiceSummary<PauseServiceResponse>> {
6465
return await this.makeRequest(PauseServiceCommand, request)
6566
}
6667

67-
public async resumeService(request: ResumeServiceRequest): Promise<WithService<ResumeServiceResponse>> {
68+
public async resumeService(request: ResumeServiceRequest): Promise<WithServiceSummary<ResumeServiceResponse>> {
6869
return await this.makeRequest(ResumeServiceCommand, request)
6970
}
7071

71-
public async updateService(request: UpdateServiceRequest): Promise<WithService<UpdateServiceResponse>> {
72+
public async updateService(request: UpdateServiceRequest): Promise<WithServiceSummary<UpdateServiceResponse>> {
7273
return await this.makeRequest(UpdateServiceCommand, request)
7374
}
7475

@@ -84,7 +85,9 @@ export class AppRunnerClient extends ClientWrapper<AppRunnerClientSDK> {
8485
return (await this.createSdkClient()).listConnections(request).promise()
8586
}
8687

87-
public async describeService(request: DescribeServiceRequest): Promise<WithService<DescribeServiceResponse>> {
88+
public async describeService(
89+
request: DescribeServiceRequest
90+
): Promise<WithServiceSummary<DescribeServiceResponse>> {
8891
return await this.makeRequest(DescribeServiceCommand, request)
8992
}
9093

@@ -96,7 +99,7 @@ export class AppRunnerClient extends ClientWrapper<AppRunnerClientSDK> {
9699
return (await this.createSdkClient()).listOperations(request).promise()
97100
}
98101

99-
public async deleteService(request: DeleteServiceRequest): Promise<WithService<DeleteServiceResponse>> {
102+
public async deleteService(request: DeleteServiceRequest): Promise<WithServiceSummary<DeleteServiceResponse>> {
100103
return this.makeRequest(DeleteServiceCommand, request)
101104
}
102105

packages/core/src/test/awsService/apprunner/explorer/apprunnerServiceNode.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import assert from 'assert'
77
import * as sinon from 'sinon'
88
import { AppRunnerNode } from '../../../../awsService/apprunner/explorer/apprunnerNode'
99
import { AppRunnerServiceNode } from '../../../../awsService/apprunner/explorer/apprunnerServiceNode'
10-
import { AppRunnerClient, AppRunnerService } from '../../../../shared/clients/apprunner'
10+
import { AppRunnerClient, AppRunnerServiceSummary } from '../../../../shared/clients/apprunner'
1111
import { DefaultCloudWatchLogsClient } from '../../../../shared/clients/cloudWatchLogsClient'
1212
import { asyncGenerator } from '../../../../shared/utilities/collectionUtils'
1313
import { AWSTreeNodeBase } from '../../../../shared/treeview/nodes/awsTreeNodeBase'
@@ -19,7 +19,7 @@ describe('AppRunnerServiceNode', function () {
1919
let mockParentNode: AppRunnerNode
2020
let node: AppRunnerServiceNode
2121

22-
const exampleInfo: AppRunnerService = {
22+
const exampleInfo: AppRunnerServiceSummary = {
2323
ServiceName: 'test1',
2424
Status: 'RUNNING',
2525
ServiceArn: 'test-arn1',

0 commit comments

Comments
 (0)