handlers/qconf/entry-types.map.ps1

# Built-in get/set implementations for Entry._template types.
return [ordered]@{
    appconfig      = @{
        get = {
            param($ctx, $options, $_context)
            $file = Get-ConfigEntryTemplateFile -Entry $_context.self -TypeName 'appconfig'
            Find-ActiveOption -file $file -options $options
        }
        set = {
            param($ctx, $key, $value, $_context)
            $file = Get-ConfigEntryTemplateFile -Entry $_context.self -TypeName 'appconfig'
            Set-AppConfigOption -File $file -Values $value
        }
    }
    dotenv         = @{
        get = {
            param($ctx, $options, $_context)
            $file = Get-ConfigEntryTemplateFile -Entry $_context.self -TypeName 'dotenv'
            Find-ActiveEnvOption -File $file -Options $options
        }
        set = {
            param($ctx, $key, $value, $_context)
            $file = Get-ConfigEntryTemplateFile -Entry $_context.self -TypeName 'dotenv'
            Set-DotEnvOption -File $file -Values $value
        }
    }
    'user-secrets' = @{
        # `list` must not read or print these values; only an explicit get/show does.
        sensitive = $true
        get       = {
            param($ctx, $options, $_context)
            $csproj = Get-ConfigEntryTemplateFile -Entry $_context.self -TypeName 'user-secrets'
            Find-ActiveSecretOption -Csproj $csproj -Options $options
        }
        set       = {
            param($ctx, $key, $value, $_context)
            $csproj = Get-ConfigEntryTemplateFile -Entry $_context.self -TypeName 'user-secrets'
            Set-UserSecretOption -Csproj $csproj -Values $value
        }
    }
}