@@ -4,7 +4,10 @@ const utils = require('./utils');
44
55
66module . exports . handler = async ( event , context ) => {
7- const { iterator, aliases, currConfig, lambdaARN} = validateInputs ( event ) ;
7+ const { lambdaConfigurations, currConfig, lambdaARN} = validateInputs ( event ) ;
8+ const currentIterator = lambdaConfigurations . iterator ;
9+ const aliases = lambdaConfigurations . aliases ;
10+
811 const { envVars} = await utils . getLambdaPower ( lambdaARN ) ;
912 // Alias may not exist when we are reverting the Lambda function to its original configuration
1013 if ( typeof currConfig . alias !== 'undefined' ) {
@@ -21,32 +24,36 @@ module.exports.handler = async(event, context) => {
2124 }
2225
2326 // update iterator
24- iterator . index ++ ;
25- iterator . continue = ( iterator . index < iterator . count ) ;
26- if ( ! iterator . continue ) {
27- delete event . powerValues . initConfigurations ;
28- }
29- event . powerValues . aliases = aliases ;
30- return event . powerValues ;
27+ const updatedIterator = {
28+ index : ( currentIterator . index + 1 ) ,
29+ count : currentIterator . count ,
30+ continue : ( ( currentIterator . index + 1 ) < currentIterator . count ) ,
31+ } ;
32+ const updatedLambdaConfigurations = {
33+ initConfigurations : ( ( updatedIterator . continue ) ? lambdaConfigurations . initConfigurations : undefined ) ,
34+ iterator : updatedIterator ,
35+ aliases : aliases ,
36+ powerValues : lambdaConfigurations . powerValues ,
37+ } ;
38+ return updatedLambdaConfigurations ;
3139} ;
3240function validateInputs ( event ) {
3341 if ( ! event . lambdaARN ) {
3442 throw new Error ( 'Missing or empty lambdaARN' ) ;
3543 }
3644 const lambdaARN = event . lambdaARN ;
37- if ( ! ( event . powerValues && event . powerValues . iterator && event . powerValues . initConfigurations ) ) {
45+ if ( ! ( event . lambdaConfigurations && event . lambdaConfigurations . iterator && event . lambdaConfigurations . initConfigurations ) ) {
3846 throw new Error ( 'Invalid iterator for initialization' ) ;
3947 }
40- const iterator = event . powerValues . iterator ;
48+ const iterator = event . lambdaConfigurations . iterator ;
4149 if ( ! ( iterator . index >= 0 && iterator . index < iterator . count ) ) {
4250 throw new Error ( `Invalid iterator index: ${ iterator . index } ` ) ;
4351 }
44- const initConfigurations = event . powerValues . initConfigurations ;
45- const aliases = event . powerValues . aliases || [ ] ;
52+ const lambdaConfigurations = event . lambdaConfigurations ;
4653 const currIdx = iterator . index ;
47- const currConfig = initConfigurations [ currIdx ] ;
54+ const currConfig = lambdaConfigurations . initConfigurations [ currIdx ] ;
4855 if ( ! ( currConfig && currConfig . powerValue ) ) {
4956 throw new Error ( `Invalid init configuration: ${ currConfig } ` ) ;
5057 }
51- return { iterator , aliases , currConfig, lambdaARN} ;
58+ return { lambdaConfigurations , currConfig, lambdaARN} ;
5259}
0 commit comments