@@ -13,12 +13,12 @@ export const updateExpression = (Item) => {
1313 // If this attribute ends with '_delete'...assume we're deleting values from a set.
1414 const isDeleteSet = key . endsWith ( '_delete' ) ;
1515 const baseKey = isDeleteSet ? key . replace ( / _ d e l e t e $ / , '' ) : key ;
16- const keyNameSafe = baseKey . replace ( / [ ^ a - z A - Z 0 - 9 _ \- . ] / g , '_' ) ;
16+ const alias = baseKey . replace ( / ( [ ^ a - z 0 - 9 _ ] + ) / gi , '_' ) ;
1717
18- acc . ExpressionAttributeNames [ `#${ keyNameSafe } ` ] = baseKey ;
18+ acc . ExpressionAttributeNames [ `#${ alias } ` ] = baseKey ;
1919
2020 if ( value === null ) {
21- acc . removeClauses . push ( `#${ keyNameSafe } ` ) ;
21+ acc . removeClauses . push ( `#${ alias } ` ) ;
2222 return acc ;
2323 }
2424
@@ -27,19 +27,19 @@ export const updateExpression = (Item) => {
2727 if ( ! ( setValue instanceof Set ) ) {
2828 setValue = new Set ( [ setValue ] ) ;
2929 }
30- acc . ExpressionAttributeValues [ `:${ keyNameSafe } _delete` ] = setValue ;
31- acc . deleteClauses . push ( `#${ keyNameSafe } :${ keyNameSafe } _delete` ) ;
30+ acc . ExpressionAttributeValues [ `:${ alias } _delete` ] = setValue ;
31+ acc . deleteClauses . push ( `#${ alias } :${ alias } _delete` ) ;
3232 return acc ;
3333 }
3434
3535 if ( value instanceof Set ) {
36- acc . ExpressionAttributeValues [ `:${ keyNameSafe } ` ] = value ;
37- acc . addClauses . push ( `#${ keyNameSafe } :${ keyNameSafe } ` ) ;
36+ acc . ExpressionAttributeValues [ `:${ alias } ` ] = value ;
37+ acc . addClauses . push ( `#${ alias } :${ alias } ` ) ;
3838 return acc ;
3939 }
4040
41- acc . ExpressionAttributeValues [ `:${ keyNameSafe } ` ] = value ;
42- acc . setClauses . push ( `#${ keyNameSafe } = :${ keyNameSafe } ` ) ;
41+ acc . ExpressionAttributeValues [ `:${ alias } ` ] = value ;
42+ acc . setClauses . push ( `#${ alias } = :${ alias } ` ) ;
4343 return acc ;
4444 } , {
4545 ExpressionAttributeNames : { } ,
0 commit comments