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";
1313export * from "./extended-encode-uri-component" ;
1414export * from "./get-array-if-single-item" ;
1515export * from "./get-value-from-text-node" ;
16+ export * from "./is-serializable-header-value" ;
1617export * from "./lazy-json" ;
1718export * from "./object-mapping" ;
1819export * 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