File tree Expand file tree Collapse file tree 4 files changed +36
-0
lines changed
packages/smithy-client/src Expand file tree Collapse file tree 4 files changed +36
-0
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ " @smithy/smithy-client " : patch
3
+ ---
4
+
5
+ serialize empty strings and collections in headers
Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ export * from "./exceptions";
13
13
export * from "./extended-encode-uri-component" ;
14
14
export * from "./get-array-if-single-item" ;
15
15
export * from "./get-value-from-text-node" ;
16
+ export * from "./is-serializable-header-value" ;
16
17
export * from "./lazy-json" ;
17
18
export * from "./object-mapping" ;
18
19
export * from "./parse-utils" ;
Original file line number Diff line number Diff line change
1
+ import { isSerializableHeaderValue } from "./is-serializable-header-value" ;
2
+
3
+ describe ( isSerializableHeaderValue . name , ( ) => {
4
+ it ( "considers empty strings serializable" , ( ) => {
5
+ expect ( isSerializableHeaderValue ( "" ) ) . toBe ( true ) ;
6
+ } ) ;
7
+
8
+ it ( "considers empty collections serializable" , ( ) => {
9
+ expect ( isSerializableHeaderValue ( new Set ( ) ) ) . toBe ( true ) ;
10
+ expect ( isSerializableHeaderValue ( [ ] ) ) . toBe ( true ) ;
11
+ } ) ;
12
+
13
+ it ( "considers most falsy data values to be serializable" , ( ) => {
14
+ expect ( isSerializableHeaderValue ( false ) ) . toBe ( true ) ;
15
+ expect ( isSerializableHeaderValue ( 0 ) ) . toBe ( true ) ;
16
+ expect ( isSerializableHeaderValue ( new Date ( 0 ) ) ) . toBe ( true ) ;
17
+ } ) ;
18
+
19
+ it ( "considered undefined and null to be unserializable" , ( ) => {
20
+ expect ( isSerializableHeaderValue ( undefined ) ) . toBe ( false ) ;
21
+ expect ( isSerializableHeaderValue ( null ) ) . toBe ( false ) ;
22
+ } ) ;
23
+ } ) ;
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @internal
3
+ * @returns whether the header value is serializable.
4
+ */
5
+ export const isSerializableHeaderValue = ( value : any ) => {
6
+ return value != null ;
7
+ } ;
You can’t perform that action at this time.
0 commit comments