Skip to content

Commit 9c61c4a

Browse files
Chase Coalwelltrivikr
Chase Coalwell
authored andcommitted
Combine serde context (#418)
* feat: combine serde types, cleanup unused imports * feat: update model location * feat: change Injectable to Pluggable
1 parent 1f1d684 commit 9c61c4a

File tree

20 files changed

+125
-153
lines changed

20 files changed

+125
-153
lines changed

clients/node/client-rds-data-node/commands/ExecuteStatementCommand.ts

+8-6
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
import { Command } from "@aws-sdk/smithy-client";
22
import { serdePlugin } from "@aws-sdk/middleware-serde";
3-
import { HttpOptions, Handler, HandlerExecutionContext } from "@aws-sdk/types";
3+
import {
4+
HttpOptions,
5+
Handler,
6+
HandlerExecutionContext,
7+
FinalizeHandlerArguments,
8+
MiddlewareStack
9+
} from "@aws-sdk/types";
410
import { RDSDataResolvedConfiguration } from "../RDSDataConfiguration";
511
import { HttpRequest } from "@aws-sdk/protocol-http";
612
import {
713
executeStatementSerializer,
814
executeStatementDeserializer
915
} from "../protocol/ExecuteStatement";
10-
import { FinalizeHandlerArguments, MiddlewareStack } from "@aws-sdk/types";
11-
import {
12-
ExecuteStatementRequest,
13-
ExecuteStatementResponse
14-
} from "../models/rdsdataservice";
16+
import { ExecuteStatementRequest, ExecuteStatementResponse } from "../models";
1517

1618
type InputTypesUnion = any;
1719
type OutputTypesUnion = any;

clients/node/client-rds-data-node/models/rdsdataservice/index.ts renamed to clients/node/client-rds-data-node/models/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as _smithy from "../../lib/smithy";
1+
import * as _smithy from "../lib/smithy";
22
import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types";
33

44
export type ArrayValue =

clients/node/client-rds-data-node/protocol/AwsRestJson1_1.ts

+20-24
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,13 @@ import {
99
ForbiddenException,
1010
InternalServerErrorException,
1111
ServiceUnavailableError
12-
} from "../models/rdsdataservice";
12+
} from "../models";
1313
import { HttpRequest, HttpResponse } from "@aws-sdk/protocol-http";
14-
import {
15-
SerializerContext,
16-
DeserializerContext,
17-
ResponseMetadata
18-
} from "@aws-sdk/types";
14+
import { SerdeContext, ResponseMetadata } from "@aws-sdk/types";
1915

2016
export function executeStatementAwsRestJson1_1Serialize(
2117
input: ExecuteStatementRequest,
22-
context: SerializerContext
18+
context: SerdeContext
2319
): HttpRequest {
2420
let body: any = {};
2521
if (input.resourceArn !== undefined) {
@@ -75,7 +71,7 @@ export function executeStatementAwsRestJson1_1Serialize(
7571

7672
export async function executeStatementAwsRestJson1_1Deserialize(
7773
output: HttpResponse,
78-
context: DeserializerContext
74+
context: SerdeContext
7975
): Promise<ExecuteStatementResponse> {
8076
if (output.statusCode !== 200) {
8177
return executeStatementAwsRestJson1_1DeserializeError(output, context);
@@ -99,7 +95,7 @@ export async function executeStatementAwsRestJson1_1Deserialize(
9995

10096
async function executeStatementAwsRestJson1_1DeserializeError(
10197
output: HttpResponse,
102-
context: DeserializerContext
98+
context: SerdeContext
10399
): Promise<ExecuteStatementResponse> {
104100
let data = await parseBody(output.body, context);
105101
let response: any;
@@ -137,7 +133,7 @@ async function executeStatementAwsRestJson1_1DeserializeError(
137133

138134
const sqlParameterListAwsRestJson1_1Serialize = (
139135
input: Array<SqlParameter>,
140-
context: SerializerContext
136+
context: SerdeContext
141137
): Array<SqlParameter> =>
142138
input &&
143139
input.map(sqlParameter =>
@@ -146,7 +142,7 @@ const sqlParameterListAwsRestJson1_1Serialize = (
146142

147143
const sqlParameterAwsRestJson1_1Serialize = (
148144
input: SqlParameter,
149-
context: SerializerContext
145+
context: SerdeContext
150146
): any =>
151147
input.name &&
152148
input.value && {
@@ -156,7 +152,7 @@ const sqlParameterAwsRestJson1_1Serialize = (
156152

157153
const fieldAwsRestJson1_1Serialize = (
158154
input: Field,
159-
context: SerializerContext
155+
context: SerdeContext
160156
): any =>
161157
Field.visit(input, {
162158
blobValue: value => {
@@ -190,7 +186,7 @@ const fieldAwsRestJson1_1Serialize = (
190186

191187
export function columnMetadataAwsRestJson1_1Deserialize(
192188
input: any,
193-
context: DeserializerContext
189+
context: SerdeContext
194190
): ColumnMetadata {
195191
let columnMetadata: any = {
196192
$namespace: "com.amazon.rdsdataservice",
@@ -257,7 +253,7 @@ export function columnMetadataAwsRestJson1_1Deserialize(
257253

258254
const columnMetadataListAwsRestJson1_1Deserialize = (
259255
input: any,
260-
context: DeserializerContext
256+
context: SerdeContext
261257
): Array<ColumnMetadata> =>
262258
input &&
263259
input.map((columnMetadata: any) =>
@@ -266,7 +262,7 @@ const columnMetadataListAwsRestJson1_1Deserialize = (
266262

267263
const fieldAwsRestJson1_1Deserialize = (
268264
input: any,
269-
context: DeserializerContext
265+
context: SerdeContext
270266
): any =>
271267
Field.visit(input, {
272268
blobValue: value => {
@@ -300,14 +296,14 @@ const fieldAwsRestJson1_1Deserialize = (
300296

301297
const generatedFieldsAwsRestJson1_1Deserialize = (
302298
input: any,
303-
context: DeserializerContext
299+
context: SerdeContext
304300
): Array<Field> =>
305301
input &&
306302
input.map((field: any) => fieldAwsRestJson1_1Deserialize(field, context));
307303

308304
const recordsAwsRestJson1_1Deserialize = (
309305
input: any,
310-
context: DeserializerContext
306+
context: SerdeContext
311307
): Array<Array<Field>> =>
312308
input &&
313309
input.map((recordsList: any) =>
@@ -316,14 +312,14 @@ const recordsAwsRestJson1_1Deserialize = (
316312

317313
const recordsListAwsRestJson1_1Deserialize = (
318314
input: any,
319-
context: DeserializerContext
315+
context: SerdeContext
320316
): Array<Field> =>
321317
input &&
322318
input.map((field: any) => fieldAwsRestJson1_1Deserialize(field, context));
323319

324320
const badRequestExceptionDeserialize = (
325321
input: any,
326-
context: DeserializerContext
322+
context: SerdeContext
327323
): BadRequestException => ({
328324
__type: "com.amazon.rdsdataservice#BadRequestException",
329325
$name: "BadRequestException",
@@ -333,7 +329,7 @@ const badRequestExceptionDeserialize = (
333329

334330
const statementTimeoutExceptionDeserialize = (
335331
input: any,
336-
context: DeserializerContext
332+
context: SerdeContext
337333
): StatementTimeoutException => ({
338334
__type: "com.amazon.rdsdataservice#StatementTimeoutException",
339335
$name: "StatementTimeoutException",
@@ -344,7 +340,7 @@ const statementTimeoutExceptionDeserialize = (
344340

345341
const forbiddenExceptionDeserialize = (
346342
input: any,
347-
context: DeserializerContext
343+
context: SerdeContext
348344
): ForbiddenException => ({
349345
__type: "com.amazon.rdsdataservice#ForbiddenException",
350346
$name: "ForbiddenException",
@@ -354,7 +350,7 @@ const forbiddenExceptionDeserialize = (
354350

355351
const internalServerErrorExceptionDeserialize = (
356352
input: any,
357-
context: DeserializerContext
353+
context: SerdeContext
358354
): InternalServerErrorException => ({
359355
__type: "com.amazon.rdsdataservice#InternalServerErrorException",
360356
$name: "InternalServerErrorException",
@@ -363,7 +359,7 @@ const internalServerErrorExceptionDeserialize = (
363359

364360
const serviceUnavailableErrorDeserialize = (
365361
input: any,
366-
context: DeserializerContext
362+
context: SerdeContext
367363
): ServiceUnavailableError => ({
368364
__type: "com.amazon.rdsdataservice#ServiceUnavailableError",
369365
$name: "ServiceUnavailableError",
@@ -376,7 +372,7 @@ const deserializeMetadata = (output: HttpResponse): ResponseMetadata => ({
376372
requestId: output.headers["x-amzn-requestid"]
377373
});
378374

379-
const parseBody = (streamBody: any, context: DeserializerContext): any => {
375+
const parseBody = (streamBody: any, context: SerdeContext): any => {
380376
return context.streamCollector(streamBody).then(body => {
381377
return JSON.parse(context.utf8Encoder(body));
382378
});

clients/node/client-rds-data-node/protocol/ExecuteStatement.ts

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
import { HttpRequest, HttpResponse } from "@aws-sdk/protocol-http";
2-
import { SerializerContext, DeserializerContext } from "@aws-sdk/types";
3-
import {
4-
ExecuteStatementRequest,
5-
ExecuteStatementResponse
6-
} from "../models/rdsdataservice";
2+
import { SerdeContext } from "@aws-sdk/types";
3+
import { ExecuteStatementRequest, ExecuteStatementResponse } from "../models";
74
import {
85
executeStatementAwsRestJson1_1Serialize,
96
executeStatementAwsRestJson1_1Deserialize
@@ -12,7 +9,7 @@ import {
129
export function executeStatementSerializer(
1310
input: ExecuteStatementRequest,
1411
protocol: string,
15-
utils: SerializerContext
12+
utils: SerdeContext
1613
): HttpRequest {
1714
switch (protocol) {
1815
case "aws.rest-json-1.1":
@@ -25,7 +22,7 @@ export function executeStatementSerializer(
2522
export async function executeStatementDeserializer(
2623
output: HttpResponse,
2724
protocol: string,
28-
utils: DeserializerContext
25+
utils: SerdeContext
2926
): Promise<ExecuteStatementResponse> {
3027
switch (protocol) {
3128
case "aws.rest-json-1.1":

packages/middleware-content-length/src/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
BodyLengthCalculator,
66
MetadataBearer,
77
BuildHandlerOutput,
8-
Injectable
8+
Pluggable
99
} from "@aws-sdk/types";
1010
import { HttpRequest } from "@aws-sdk/protocol-http";
1111

@@ -46,7 +46,7 @@ export function contentLengthMiddleware(
4646

4747
export const contentLengthPlugin = (options: {
4848
bodyLengthChecker: BodyLengthCalculator;
49-
}): Injectable<any, any> => clientStack => {
49+
}): Pluggable<any, any> => clientStack => {
5050
clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), {
5151
step: "build",
5252
tags: { SET_CONTENT_LENGTH: true }
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import {
22
RequestSerializer,
33
ResponseDeserializer,
4-
Injectable,
4+
Pluggable,
55
Protocol,
66
MetadataBearer,
77
MiddlewareStack,
8-
EndpointBearer,
9-
Provider
8+
EndpointBearer
109
} from "@aws-sdk/types";
1110
import { deserializerMiddleware } from "./deserializerMiddleware";
1211
import { serializerMiddleware } from "./serializerMiddleware";
@@ -17,11 +16,11 @@ export function serdePlugin<
1716
OutputType extends MetadataBearer,
1817
DeserializerRuntimeUtils
1918
>(
20-
config: PromisifyEndpoint<SerializerRuntimeUtils> &
19+
config: SerializerRuntimeUtils &
2120
DeserializerRuntimeUtils & { protocol: Protocol<any, any> },
2221
serializer: RequestSerializer<any, SerializerRuntimeUtils>,
2322
deserializer: ResponseDeserializer<OutputType, any, DeserializerRuntimeUtils>
24-
): Injectable<InputType, OutputType> {
23+
): Pluggable<InputType, OutputType> {
2524
return (commandStack: MiddlewareStack<InputType, OutputType>) => {
2625
commandStack.add(deserializerMiddleware(config, deserializer), {
2726
step: "deserialize",
@@ -33,7 +32,3 @@ export function serdePlugin<
3332
});
3433
};
3534
}
36-
37-
export type PromisifyEndpoint<T extends EndpointBearer> = {
38-
[K in keyof T]: K extends "endpoint" ? Provider<T[K]> : T[K];
39-
};

packages/middleware-serde/src/serializerMiddleware.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,13 @@ import {
77
Protocol,
88
EndpointBearer
99
} from "@aws-sdk/types";
10-
import { PromisifyEndpoint } from "./serdePlugin";
1110

1211
export function serializerMiddleware<
1312
Input extends object,
1413
Output extends object,
1514
RuntimeUtils extends EndpointBearer
1615
>(
17-
options: { protocol: Protocol<any, any> } & PromisifyEndpoint<RuntimeUtils>,
16+
options: { protocol: Protocol<any, any> } & RuntimeUtils,
1817
serializer: RequestSerializer<any, RuntimeUtils>
1918
): SerializeMiddleware<Input, Output> {
2019
return (

packages/middleware-user-agent/src/middleware.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {
33
BuildHandler,
44
MetadataBearer,
55
BuildHandlerOutput,
6-
Injectable
6+
Pluggable
77
} from "@aws-sdk/types";
88
import { HttpRequest } from "@aws-sdk/protocol-http";
99
import { UserAgentConfig } from "./configurations";
@@ -36,7 +36,7 @@ export function userAgentMiddleware(options: UserAgentConfig.Resolved) {
3636

3737
export const userAgentPlugin = (
3838
config: UserAgentConfig.Resolved
39-
): Injectable<any, any> => clientStack => {
39+
): Pluggable<any, any> => clientStack => {
4040
clientStack.add(userAgentMiddleware(config), {
4141
step: "build",
4242
tags: { SET_USER_AGENT: true }

packages/protocol-rest-json/src/index.ts

+5-6
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ import {
44
Protocol,
55
TransferHandler,
66
HttpOptions,
7-
SerializerContext,
8-
DeserializerContext
7+
SerdeContext
98
} from "@aws-sdk/types";
109
import { HttpRequest, HttpResponse } from "@aws-sdk/protocol-http";
1110

@@ -20,16 +19,16 @@ export class RestJsonProtocol extends Protocol<
2019
super(handler);
2120
}
2221
serialize(
23-
serializer: RequestSerializer<HttpRequest, SerializerContext>,
22+
serializer: RequestSerializer<HttpRequest, SerdeContext>,
2423
input: any,
25-
utils: SerializerContext
24+
utils: SerdeContext
2625
) {
2726
return serializer(input, "aws.rest-json-1.1", utils);
2827
}
2928
deserialize(
30-
deserializer: ResponseDeserializer<HttpResponse, any, DeserializerContext>,
29+
deserializer: ResponseDeserializer<HttpResponse, any, SerdeContext>,
3130
output: HttpResponse,
32-
utils: DeserializerContext
31+
utils: SerdeContext
3332
) {
3433
return deserializer(output, "aws.rest-json-1.1", utils) as any;
3534
}

packages/retry-middleware/src/retryMiddleware.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {
33
FinalizeHandlerArguments,
44
MetadataBearer,
55
FinalizeHandlerOutput,
6-
Injectable
6+
Pluggable
77
} from "@aws-sdk/types";
88
import { RetryConfig } from "./configurations";
99

@@ -19,7 +19,7 @@ export function retryMiddleware(options: RetryConfig.Resolved) {
1919

2020
export const retryPlugin = (
2121
options: RetryConfig.Resolved
22-
): Injectable<any, any> => clientStack => {
22+
): Pluggable<any, any> => clientStack => {
2323
if (options.maxRetries > 0) {
2424
clientStack.add(retryMiddleware(options), {
2525
step: "finalizeRequest",

packages/signing-middleware/src/middleware.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {
33
FinalizeHandlerArguments,
44
FinalizeRequestMiddleware,
55
FinalizeHandlerOutput,
6-
Injectable
6+
Pluggable
77
} from "@aws-sdk/types";
88
import { AwsAuthConfiguration } from "./configurations";
99
import { HttpRequest } from "@aws-sdk/protocol-http";
@@ -27,7 +27,7 @@ export function signingMiddleware<Input extends object, Output extends object>(
2727

2828
export const awsAuthPlugin = (
2929
options: AwsAuthConfiguration.Resolved
30-
): Injectable<any, any> => clientStack => {
30+
): Pluggable<any, any> => clientStack => {
3131
clientStack.add(signingMiddleware(options), {
3232
step: "finalizeRequest",
3333
tags: { SIGNATURE: true }

0 commit comments

Comments
 (0)