private void SetInputBindingParameterValues()

in src/PowerShell/PowerShellManager.cs [277:313]


        private void SetInputBindingParameterValues(
            AzFunctionInfo functionInfo,
            IEnumerable<ParameterBinding> inputData,
            string orchestratorParameter,
            Hashtable triggerMetadata,
            TraceContext traceContext,
            RetryContext retryContext)
        {
            foreach (var binding in inputData)
            {
                if (functionInfo.FuncParameters.TryGetValue(binding.Name, out var paramInfo))
                {
                    if (string.CompareOrdinal(binding.Name, orchestratorParameter) != 0)
                    {
                        var bindingInfo = functionInfo.InputBindings[binding.Name];
                        var valueToUse = Utils.TransformInBindingValueAsNeeded(paramInfo, bindingInfo, binding.Data.ToObject());
                        _pwsh.AddParameter(binding.Name, valueToUse);
                    }
                }
            }

            // Gives access to additional Trigger Metadata if the user specifies TriggerMetadata
            if (functionInfo.HasTriggerMetadataParam)
            {
                _pwsh.AddParameter(AzFunctionInfo.TriggerMetadata, triggerMetadata);
            }

            if (functionInfo.HasTraceContextParam)
            {
                _pwsh.AddParameter(AzFunctionInfo.TraceContext, traceContext);
            }

            if (functionInfo.HasRetryContextParam)
            {
                _pwsh.AddParameter(AzFunctionInfo.RetryContext, retryContext);
            }
        }