@@ -15,7 +15,11 @@ export type CatIfDictValue = {
1515const valueToDict : { [ key : string ] : ( value : any ) => any } = {
1616 exp : ( value ) => {
1717 const [ code , headers , kid ] = value ;
18- return [ code , valueToDict [ 'location' ] ( headers . get ( 'Location' ) ) , kid ] ;
18+ const dictHeaders : { [ h : string ] : any } = { } ;
19+ headers . forEach ( ( v : any , header : string ) => {
20+ dictHeaders [ header ] = valueToDict [ header ] ? valueToDict [ header ] ( v ) : v ;
21+ } ) ;
22+ return [ code , dictHeaders , kid ] ;
1923 } ,
2024 location : ( value ) => {
2125 if ( typeof value === 'string' ) {
@@ -35,13 +39,20 @@ const valueToDict: { [key: string]: (value: any) => any } = {
3539const dictToValue : { [ key : string ] : ( value : any ) => any } = {
3640 exp : ( value ) => {
3741 const [ code , headers , kid ] = value ;
38- return [ code , dictToValue [ 'location' ] ( headers [ 'Location' ] ) , kid ] ;
42+ const map = new Map < string , any > ( ) ;
43+ for ( const header in headers ) {
44+ map . set (
45+ header ,
46+ dictToValue [ header ]
47+ ? dictToValue [ header ] ( headers [ header ] )
48+ : headers [ header ]
49+ ) ;
50+ }
51+ return [ code , map , kid ] ;
3952 } ,
4053 location : ( value ) => {
4154 if ( typeof value === 'string' ) {
42- const map = new Map < string , any > ( ) ;
43- map . set ( 'Location' , value ) ;
44- return map ;
55+ return value ;
4556 } else {
4657 const [ url , dict ] = value ;
4758 const lmap = new Map < string , any > ( ) ;
@@ -51,9 +62,7 @@ const dictToValue: { [key: string]: (value: any) => any } = {
5162 dictToValue [ key ] ? dictToValue [ key ] ( dict [ key ] ) : dict [ key ]
5263 ) ;
5364 }
54- const map = new Map < string , any > ( ) ;
55- map . set ( 'Location' , [ url , lmap ] ) ;
56- return map ;
65+ return [ url , lmap ] ;
5766 }
5867 } ,
5968 catu : ( value ) => CommonAccessTokenUri . fromDict ( value ) . payload
0 commit comments