async parseConfig()

in packages/core/src/lambda/vue/configEditor/samInvokeFrontend.ts [194:238]


        async parseConfig(config?: AwsSamDebuggerConfiguration) {
            if (!config) {
                return
            }
            const company = this.company
            this.clearForm()
            this.launchConfig = newLaunchConfig(config)

            if (config.lambda?.payload) {
                this.payload.value = JSON.stringify(config.lambda.payload.json, undefined, 4)
            }

            const localArgs = config.sam?.localArguments

            if (!localArgs && this.payload.value) {
                this.payloadOption = 'sampleEvents'
                this.selectedFile = ''
            }

            if (localArgs?.includes('-e') || localArgs?.includes('--event')) {
                const index = localArgs.findIndex((arg) => arg === '-e' || arg === '--event')

                if (index !== -1 && localArgs[index + 1]) {
                    this.payloadOption = 'localFile'
                    this.selectedFile = await client.getFileName(localArgs[index + 1])
                }
            }

            if (config.lambda?.environmentVariables) {
                this.environmentVariables.value = JSON.stringify(config.lambda?.environmentVariables)
            }
            if (config.sam?.template?.parameters) {
                this.parameters.value = JSON.stringify(config.sam?.template?.parameters)
            }
            if (config.api?.headers) {
                this.headers.value = JSON.stringify(config.api?.headers)
            }
            if (config.api?.stageVariables) {
                this.stageVariables.value = JSON.stringify(config.api?.stageVariables)
            }
            this.containerBuild = config.sam?.containerBuild ?? false
            this.skipNewImageCheck = config.sam?.skipNewImageCheck ?? false
            this.msg = `Loaded config: ${config.name}`
            this.company = company
        },