From 358d043fb996bcde0f0db7872c38bb9da76f8760 Mon Sep 17 00:00:00 2001 From: Nick Manos Date: Sun, 16 Aug 2026 21:08:15 -0400 Subject: [PATCH] fix: expose pkg/config and viper to yaegi plugins The plugin docs show yaegi plugins reading Vikunja configuration via pkg/config and github.com/spf13/viper, but neither package was registered in the yaegi symbol table. Plugins importing them failed to load at the import itself. Add both packages to yaegiSymbolPackages and commit the generated symbol files so interpreted plugins can read configuration as documented. Fixes #3500. --- magefile.go | 2 + pkg/yaegi_symbols/vikunja_config.go | 197 +++++++++++++++++++ pkg/yaegi_symbols/viper.go | 290 ++++++++++++++++++++++++++++ 3 files changed, 489 insertions(+) create mode 100644 pkg/yaegi_symbols/vikunja_config.go create mode 100644 pkg/yaegi_symbols/viper.go diff --git a/magefile.go b/magefile.go index 6931ab4d1..8b4cf91b3 100644 --- a/magefile.go +++ b/magefile.go @@ -1427,6 +1427,7 @@ var yaegiSymbolPackages = []struct { importPath string outFile string }{ + {"code.vikunja.io/api/pkg/config", "vikunja_config.go"}, {"code.vikunja.io/api/pkg/db", "vikunja_db.go"}, {"code.vikunja.io/api/pkg/events", "vikunja_events.go"}, {"code.vikunja.io/api/pkg/log", "vikunja_log.go"}, @@ -1435,6 +1436,7 @@ var yaegiSymbolPackages = []struct { {"code.vikunja.io/api/pkg/user", "vikunja_user.go"}, {"github.com/labstack/echo/v5", "echo.go"}, {"github.com/ThreeDotsLabs/watermill/message", "watermill.go"}, + {"github.com/spf13/viper", "viper.go"}, } // YaegiSymbols regenerates the yaegi symbol tables in pkg/yaegi_symbols so diff --git a/pkg/yaegi_symbols/vikunja_config.go b/pkg/yaegi_symbols/vikunja_config.go new file mode 100644 index 000000000..1bcba8149 --- /dev/null +++ b/pkg/yaegi_symbols/vikunja_config.go @@ -0,0 +1,197 @@ +// Code generated by 'yaegi extract code.vikunja.io/api/pkg/config'. DO NOT EDIT. + +package yaegi_symbols + +import ( + "code.vikunja.io/api/pkg/config" + "reflect" +) + +func init() { + Symbols["code.vikunja.io/api/pkg/config/config"] = map[string]reflect.Value{ + // function, constant and variable definitions + "AuditEnabled": reflect.ValueOf(config.AuditEnabled), + "AuditLogfile": reflect.ValueOf(config.AuditLogfile), + "AuditRotationMaxAge": reflect.ValueOf(config.AuditRotationMaxAge), + "AuditRotationMaxSizeMB": reflect.ValueOf(config.AuditRotationMaxSizeMB), + "AuthLdapAttributeDisplayname": reflect.ValueOf(config.AuthLdapAttributeDisplayname), + "AuthLdapAttributeEmail": reflect.ValueOf(config.AuthLdapAttributeEmail), + "AuthLdapAttributeMemberID": reflect.ValueOf(config.AuthLdapAttributeMemberID), + "AuthLdapAttributeUsername": reflect.ValueOf(config.AuthLdapAttributeUsername), + "AuthLdapAvatarSyncAttribute": reflect.ValueOf(config.AuthLdapAvatarSyncAttribute), + "AuthLdapBaseDN": reflect.ValueOf(config.AuthLdapBaseDN), + "AuthLdapBindDN": reflect.ValueOf(config.AuthLdapBindDN), + "AuthLdapBindPassword": reflect.ValueOf(config.AuthLdapBindPassword), + "AuthLdapEnabled": reflect.ValueOf(config.AuthLdapEnabled), + "AuthLdapGroupSyncEnabled": reflect.ValueOf(config.AuthLdapGroupSyncEnabled), + "AuthLdapGroupSyncFilter": reflect.ValueOf(config.AuthLdapGroupSyncFilter), + "AuthLdapGroupSyncUseServiceAccount": reflect.ValueOf(config.AuthLdapGroupSyncUseServiceAccount), + "AuthLdapHost": reflect.ValueOf(config.AuthLdapHost), + "AuthLdapPort": reflect.ValueOf(config.AuthLdapPort), + "AuthLdapUseTLS": reflect.ValueOf(config.AuthLdapUseTLS), + "AuthLdapUserFilter": reflect.ValueOf(config.AuthLdapUserFilter), + "AuthLdapVerifyTLS": reflect.ValueOf(config.AuthLdapVerifyTLS), + "AuthLocalEnabled": reflect.ValueOf(config.AuthLocalEnabled), + "AuthOpenIDEnabled": reflect.ValueOf(config.AuthOpenIDEnabled), + "AuthOpenIDProviders": reflect.ValueOf(config.AuthOpenIDProviders), + "AutoTLSEmail": reflect.ValueOf(config.AutoTLSEmail), + "AutoTLSEnabled": reflect.ValueOf(config.AutoTLSEnabled), + "AutoTLSRenewBefore": reflect.ValueOf(config.AutoTLSRenewBefore), + "AvatarGravatarBaseURL": reflect.ValueOf(config.AvatarGravatarBaseURL), + "AvatarGravaterExpiration": reflect.ValueOf(config.AvatarGravaterExpiration), + "BackgroundsEnabled": reflect.ValueOf(config.BackgroundsEnabled), + "BackgroundsUnsplashAccessToken": reflect.ValueOf(config.BackgroundsUnsplashAccessToken), + "BackgroundsUnsplashApplicationID": reflect.ValueOf(config.BackgroundsUnsplashApplicationID), + "BackgroundsUnsplashEnabled": reflect.ValueOf(config.BackgroundsUnsplashEnabled), + "BackgroundsUploadEnabled": reflect.ValueOf(config.BackgroundsUploadEnabled), + "CorsEnable": reflect.ValueOf(config.CorsEnable), + "CorsMaxAge": reflect.ValueOf(config.CorsMaxAge), + "CorsOrigins": reflect.ValueOf(config.CorsOrigins), + "DatabaseDatabase": reflect.ValueOf(config.DatabaseDatabase), + "DatabaseHost": reflect.ValueOf(config.DatabaseHost), + "DatabaseMaxConnectionLifetime": reflect.ValueOf(config.DatabaseMaxConnectionLifetime), + "DatabaseMaxIdleConnections": reflect.ValueOf(config.DatabaseMaxIdleConnections), + "DatabaseMaxOpenConnections": reflect.ValueOf(config.DatabaseMaxOpenConnections), + "DatabasePassword": reflect.ValueOf(config.DatabasePassword), + "DatabasePath": reflect.ValueOf(config.DatabasePath), + "DatabaseSchema": reflect.ValueOf(config.DatabaseSchema), + "DatabaseSslCert": reflect.ValueOf(config.DatabaseSslCert), + "DatabaseSslKey": reflect.ValueOf(config.DatabaseSslKey), + "DatabaseSslMode": reflect.ValueOf(config.DatabaseSslMode), + "DatabaseSslRootCert": reflect.ValueOf(config.DatabaseSslRootCert), + "DatabaseTLS": reflect.ValueOf(config.DatabaseTLS), + "DatabaseType": reflect.ValueOf(config.DatabaseType), + "DatabaseUser": reflect.ValueOf(config.DatabaseUser), + "DefaultSettingsAvatarFileID": reflect.ValueOf(config.DefaultSettingsAvatarFileID), + "DefaultSettingsAvatarProvider": reflect.ValueOf(config.DefaultSettingsAvatarProvider), + "DefaultSettingsDefaultProjectID": reflect.ValueOf(config.DefaultSettingsDefaultProjectID), + "DefaultSettingsDiscoverableByEmail": reflect.ValueOf(config.DefaultSettingsDiscoverableByEmail), + "DefaultSettingsDiscoverableByName": reflect.ValueOf(config.DefaultSettingsDiscoverableByName), + "DefaultSettingsEmailRemindersEnabled": reflect.ValueOf(config.DefaultSettingsEmailRemindersEnabled), + "DefaultSettingsLanguage": reflect.ValueOf(config.DefaultSettingsLanguage), + "DefaultSettingsOverdueTaskRemindersEnabled": reflect.ValueOf(config.DefaultSettingsOverdueTaskRemindersEnabled), + "DefaultSettingsOverdueTaskRemindersTime": reflect.ValueOf(config.DefaultSettingsOverdueTaskRemindersTime), + "DefaultSettingsTimezone": reflect.ValueOf(config.DefaultSettingsTimezone), + "DefaultSettingsWeekStart": reflect.ValueOf(config.DefaultSettingsWeekStart), + "FilesBasePath": reflect.ValueOf(config.FilesBasePath), + "FilesMaxSize": reflect.ValueOf(config.FilesMaxSize), + "FilesS3AccessKey": reflect.ValueOf(config.FilesS3AccessKey), + "FilesS3Bucket": reflect.ValueOf(config.FilesS3Bucket), + "FilesS3DisableSigning": reflect.ValueOf(config.FilesS3DisableSigning), + "FilesS3Endpoint": reflect.ValueOf(config.FilesS3Endpoint), + "FilesS3Region": reflect.ValueOf(config.FilesS3Region), + "FilesS3SecretKey": reflect.ValueOf(config.FilesS3SecretKey), + "FilesS3TempDir": reflect.ValueOf(config.FilesS3TempDir), + "FilesS3UsePathStyle": reflect.ValueOf(config.FilesS3UsePathStyle), + "FilesType": reflect.ValueOf(config.FilesType), + "GetConfigValueFromFile": reflect.ValueOf(config.GetConfigValueFromFile), + "GetMaxFileSizeInMBytes": reflect.ValueOf(config.GetMaxFileSizeInMBytes), + "GetTimeZone": reflect.ValueOf(config.GetTimeZone), + "InitConfig": reflect.ValueOf(config.InitConfig), + "InitDefaultConfig": reflect.ValueOf(config.InitDefaultConfig), + "KeyvalueType": reflect.ValueOf(config.KeyvalueType), + "LegalImprintURL": reflect.ValueOf(config.LegalImprintURL), + "LegalPrivacyURL": reflect.ValueOf(config.LegalPrivacyURL), + "LicenseKey": reflect.ValueOf(config.LicenseKey), + "LogDatabase": reflect.ValueOf(config.LogDatabase), + "LogDatabaseLevel": reflect.ValueOf(config.LogDatabaseLevel), + "LogEnabled": reflect.ValueOf(config.LogEnabled), + "LogEvents": reflect.ValueOf(config.LogEvents), + "LogEventsLevel": reflect.ValueOf(config.LogEventsLevel), + "LogFormat": reflect.ValueOf(config.LogFormat), + "LogHTTP": reflect.ValueOf(config.LogHTTP), + "LogLevel": reflect.ValueOf(config.LogLevel), + "LogMail": reflect.ValueOf(config.LogMail), + "LogMailLevel": reflect.ValueOf(config.LogMailLevel), + "LogPath": reflect.ValueOf(config.LogPath), + "LogStandard": reflect.ValueOf(config.LogStandard), + "MailerAuthType": reflect.ValueOf(config.MailerAuthType), + "MailerEnabled": reflect.ValueOf(config.MailerEnabled), + "MailerForceSSL": reflect.ValueOf(config.MailerForceSSL), + "MailerFromEmail": reflect.ValueOf(config.MailerFromEmail), + "MailerHost": reflect.ValueOf(config.MailerHost), + "MailerPassword": reflect.ValueOf(config.MailerPassword), + "MailerPort": reflect.ValueOf(config.MailerPort), + "MailerQueueTimeout": reflect.ValueOf(config.MailerQueueTimeout), + "MailerQueuelength": reflect.ValueOf(config.MailerQueuelength), + "MailerSkipTLSVerify": reflect.ValueOf(config.MailerSkipTLSVerify), + "MailerUsername": reflect.ValueOf(config.MailerUsername), + "MetricsEnabled": reflect.ValueOf(config.MetricsEnabled), + "MetricsPassword": reflect.ValueOf(config.MetricsPassword), + "MetricsUsername": reflect.ValueOf(config.MetricsUsername), + "MigrationMicrosoftTodoClientID": reflect.ValueOf(config.MigrationMicrosoftTodoClientID), + "MigrationMicrosoftTodoClientSecret": reflect.ValueOf(config.MigrationMicrosoftTodoClientSecret), + "MigrationMicrosoftTodoEnable": reflect.ValueOf(config.MigrationMicrosoftTodoEnable), + "MigrationMicrosoftTodoRedirectURL": reflect.ValueOf(config.MigrationMicrosoftTodoRedirectURL), + "MigrationTodoistClientID": reflect.ValueOf(config.MigrationTodoistClientID), + "MigrationTodoistClientSecret": reflect.ValueOf(config.MigrationTodoistClientSecret), + "MigrationTodoistEnable": reflect.ValueOf(config.MigrationTodoistEnable), + "MigrationTodoistRedirectURL": reflect.ValueOf(config.MigrationTodoistRedirectURL), + "MigrationTrelloEnable": reflect.ValueOf(config.MigrationTrelloEnable), + "MigrationTrelloKey": reflect.ValueOf(config.MigrationTrelloKey), + "MigrationTrelloRedirectURL": reflect.ValueOf(config.MigrationTrelloRedirectURL), + "OutgoingRequestsAllowNonRoutableIPs": reflect.ValueOf(config.OutgoingRequestsAllowNonRoutableIPs), + "OutgoingRequestsProxyPassword": reflect.ValueOf(config.OutgoingRequestsProxyPassword), + "OutgoingRequestsProxyURL": reflect.ValueOf(config.OutgoingRequestsProxyURL), + "OutgoingRequestsTimeoutSeconds": reflect.ValueOf(config.OutgoingRequestsTimeoutSeconds), + "PluginsDir": reflect.ValueOf(config.PluginsDir), + "PluginsEnabled": reflect.ValueOf(config.PluginsEnabled), + "PluginsLoader": reflect.ValueOf(config.PluginsLoader), + "RateLimitEnabled": reflect.ValueOf(config.RateLimitEnabled), + "RateLimitKind": reflect.ValueOf(config.RateLimitKind), + "RateLimitLimit": reflect.ValueOf(config.RateLimitLimit), + "RateLimitNoAuthRoutesLimit": reflect.ValueOf(config.RateLimitNoAuthRoutesLimit), + "RateLimitPeriod": reflect.ValueOf(config.RateLimitPeriod), + "RateLimitStore": reflect.ValueOf(config.RateLimitStore), + "RedisDB": reflect.ValueOf(config.RedisDB), + "RedisEnabled": reflect.ValueOf(config.RedisEnabled), + "RedisHost": reflect.ValueOf(config.RedisHost), + "RedisPassword": reflect.ValueOf(config.RedisPassword), + "ResolvePath": reflect.ValueOf(config.ResolvePath), + "SentryDsn": reflect.ValueOf(config.SentryDsn), + "SentryEnabled": reflect.ValueOf(config.SentryEnabled), + "SentryFrontendDsn": reflect.ValueOf(config.SentryFrontendDsn), + "SentryFrontendEnabled": reflect.ValueOf(config.SentryFrontendEnabled), + "ServiceAllowIconChanges": reflect.ValueOf(config.ServiceAllowIconChanges), + "ServiceBcryptRounds": reflect.ValueOf(config.ServiceBcryptRounds), + "ServiceCustomLogoURL": reflect.ValueOf(config.ServiceCustomLogoURL), + "ServiceCustomLogoURLDark": reflect.ValueOf(config.ServiceCustomLogoURLDark), + "ServiceDemoMode": reflect.ValueOf(config.ServiceDemoMode), + "ServiceEnableCaldav": reflect.ValueOf(config.ServiceEnableCaldav), + "ServiceEnableEmailReminders": reflect.ValueOf(config.ServiceEnableEmailReminders), + "ServiceEnableLinkSharing": reflect.ValueOf(config.ServiceEnableLinkSharing), + "ServiceEnableOpenIDTeamUserOnlySearch": reflect.ValueOf(config.ServiceEnableOpenIDTeamUserOnlySearch), + "ServiceEnablePublicTeams": reflect.ValueOf(config.ServiceEnablePublicTeams), + "ServiceEnableRegistration": reflect.ValueOf(config.ServiceEnableRegistration), + "ServiceEnableTaskAttachments": reflect.ValueOf(config.ServiceEnableTaskAttachments), + "ServiceEnableTaskComments": reflect.ValueOf(config.ServiceEnableTaskComments), + "ServiceEnableTotp": reflect.ValueOf(config.ServiceEnableTotp), + "ServiceEnableUserDeletion": reflect.ValueOf(config.ServiceEnableUserDeletion), + "ServiceIPExtractionMethod": reflect.ValueOf(config.ServiceIPExtractionMethod), + "ServiceInterface": reflect.ValueOf(config.ServiceInterface), + "ServiceJWTSecret": reflect.ValueOf(config.ServiceJWTSecret), + "ServiceJWTTTL": reflect.ValueOf(config.ServiceJWTTTL), + "ServiceJWTTTLLong": reflect.ValueOf(config.ServiceJWTTTLLong), + "ServiceJWTTTLShort": reflect.ValueOf(config.ServiceJWTTTLShort), + "ServiceMaxAvatarSize": reflect.ValueOf(config.ServiceMaxAvatarSize), + "ServiceMaxItemsPerPage": reflect.ValueOf(config.ServiceMaxItemsPerPage), + "ServiceMotd": reflect.ValueOf(config.ServiceMotd), + "ServicePublicURL": reflect.ValueOf(config.ServicePublicURL), + "ServiceRootpath": reflect.ValueOf(config.ServiceRootpath), + "ServiceSecret": reflect.ValueOf(config.ServiceSecret), + "ServiceTestingtoken": reflect.ValueOf(config.ServiceTestingtoken), + "ServiceTimeZone": reflect.ValueOf(config.ServiceTimeZone), + "ServiceTrustedProxies": reflect.ValueOf(config.ServiceTrustedProxies), + "ServiceUnixSocket": reflect.ValueOf(config.ServiceUnixSocket), + "ServiceUnixSocketMode": reflect.ValueOf(config.ServiceUnixSocketMode), + "SetMaxFileSizeMBytesFromString": reflect.ValueOf(config.SetMaxFileSizeMBytesFromString), + "WebhooksAllowNonRoutableIPs": reflect.ValueOf(config.WebhooksAllowNonRoutableIPs), + "WebhooksEnabled": reflect.ValueOf(config.WebhooksEnabled), + "WebhooksProxyPassword": reflect.ValueOf(config.WebhooksProxyPassword), + "WebhooksProxyURL": reflect.ValueOf(config.WebhooksProxyURL), + "WebhooksTimeoutSeconds": reflect.ValueOf(config.WebhooksTimeoutSeconds), + + // type definitions + "Key": reflect.ValueOf((*config.Key)(nil)), + } +} diff --git a/pkg/yaegi_symbols/viper.go b/pkg/yaegi_symbols/viper.go new file mode 100644 index 000000000..75b7b4e97 --- /dev/null +++ b/pkg/yaegi_symbols/viper.go @@ -0,0 +1,290 @@ +// Code generated by 'yaegi extract github.com/spf13/viper'. DO NOT EDIT. + +package yaegi_symbols + +import ( + "github.com/spf13/afero" + "github.com/spf13/viper" + "reflect" +) + +func init() { + Symbols["github.com/spf13/viper/viper"] = map[string]reflect.Value{ + // function, constant and variable definitions + "AddConfigPath": reflect.ValueOf(viper.AddConfigPath), + "AddRemoteProvider": reflect.ValueOf(viper.AddRemoteProvider), + "AddSecureRemoteProvider": reflect.ValueOf(viper.AddSecureRemoteProvider), + "AllKeys": reflect.ValueOf(viper.AllKeys), + "AllSettings": reflect.ValueOf(viper.AllSettings), + "AllowEmptyEnv": reflect.ValueOf(viper.AllowEmptyEnv), + "AutomaticEnv": reflect.ValueOf(viper.AutomaticEnv), + "BindEnv": reflect.ValueOf(viper.BindEnv), + "BindFlagValue": reflect.ValueOf(viper.BindFlagValue), + "BindFlagValues": reflect.ValueOf(viper.BindFlagValues), + "BindPFlag": reflect.ValueOf(viper.BindPFlag), + "BindPFlags": reflect.ValueOf(viper.BindPFlags), + "ConfigFileUsed": reflect.ValueOf(viper.ConfigFileUsed), + "Debug": reflect.ValueOf(viper.Debug), + "DebugTo": reflect.ValueOf(viper.DebugTo), + "DecodeHook": reflect.ValueOf(viper.DecodeHook), + "EnvKeyReplacer": reflect.ValueOf(viper.EnvKeyReplacer), + "ExperimentalBindStruct": reflect.ValueOf(viper.ExperimentalBindStruct), + "ExperimentalFinder": reflect.ValueOf(viper.ExperimentalFinder), + "Finders": reflect.ValueOf(viper.Finders), + "Get": reflect.ValueOf(viper.Get), + "GetBool": reflect.ValueOf(viper.GetBool), + "GetDuration": reflect.ValueOf(viper.GetDuration), + "GetEnvPrefix": reflect.ValueOf(viper.GetEnvPrefix), + "GetFloat64": reflect.ValueOf(viper.GetFloat64), + "GetInt": reflect.ValueOf(viper.GetInt), + "GetInt32": reflect.ValueOf(viper.GetInt32), + "GetInt64": reflect.ValueOf(viper.GetInt64), + "GetIntSlice": reflect.ValueOf(viper.GetIntSlice), + "GetSizeInBytes": reflect.ValueOf(viper.GetSizeInBytes), + "GetString": reflect.ValueOf(viper.GetString), + "GetStringMap": reflect.ValueOf(viper.GetStringMap), + "GetStringMapString": reflect.ValueOf(viper.GetStringMapString), + "GetStringMapStringSlice": reflect.ValueOf(viper.GetStringMapStringSlice), + "GetStringSlice": reflect.ValueOf(viper.GetStringSlice), + "GetTime": reflect.ValueOf(viper.GetTime), + "GetUint": reflect.ValueOf(viper.GetUint), + "GetUint16": reflect.ValueOf(viper.GetUint16), + "GetUint32": reflect.ValueOf(viper.GetUint32), + "GetUint64": reflect.ValueOf(viper.GetUint64), + "GetUint8": reflect.ValueOf(viper.GetUint8), + "GetViper": reflect.ValueOf(viper.GetViper), + "InConfig": reflect.ValueOf(viper.InConfig), + "IsSet": reflect.ValueOf(viper.IsSet), + "KeyDelimiter": reflect.ValueOf(viper.KeyDelimiter), + "MergeConfig": reflect.ValueOf(viper.MergeConfig), + "MergeConfigMap": reflect.ValueOf(viper.MergeConfigMap), + "MergeInConfig": reflect.ValueOf(viper.MergeInConfig), + "MustBindEnv": reflect.ValueOf(viper.MustBindEnv), + "New": reflect.ValueOf(viper.New), + "NewCodecRegistry": reflect.ValueOf(viper.NewCodecRegistry), + "NewWithOptions": reflect.ValueOf(viper.NewWithOptions), + "OnConfigChange": reflect.ValueOf(viper.OnConfigChange), + "ReadConfig": reflect.ValueOf(viper.ReadConfig), + "ReadInConfig": reflect.ValueOf(viper.ReadInConfig), + "ReadRemoteConfig": reflect.ValueOf(viper.ReadRemoteConfig), + "RegisterAlias": reflect.ValueOf(viper.RegisterAlias), + "RemoteConfig": reflect.ValueOf(&viper.RemoteConfig).Elem(), + "Reset": reflect.ValueOf(viper.Reset), + "SafeWriteConfig": reflect.ValueOf(viper.SafeWriteConfig), + "SafeWriteConfigAs": reflect.ValueOf(viper.SafeWriteConfigAs), + "Set": reflect.ValueOf(viper.Set), + "SetConfigFile": reflect.ValueOf(viper.SetConfigFile), + "SetConfigName": reflect.ValueOf(viper.SetConfigName), + "SetConfigPermissions": reflect.ValueOf(viper.SetConfigPermissions), + "SetConfigType": reflect.ValueOf(viper.SetConfigType), + "SetDefault": reflect.ValueOf(viper.SetDefault), + "SetEnvKeyReplacer": reflect.ValueOf(viper.SetEnvKeyReplacer), + "SetEnvPrefix": reflect.ValueOf(viper.SetEnvPrefix), + "SetFs": reflect.ValueOf(viper.SetFs), + "SetOptions": reflect.ValueOf(viper.SetOptions), + "SetTypeByDefaultValue": reflect.ValueOf(viper.SetTypeByDefaultValue), + "Sub": reflect.ValueOf(viper.Sub), + "SupportedExts": reflect.ValueOf(&viper.SupportedExts).Elem(), + "SupportedRemoteProviders": reflect.ValueOf(&viper.SupportedRemoteProviders).Elem(), + "Unmarshal": reflect.ValueOf(viper.Unmarshal), + "UnmarshalExact": reflect.ValueOf(viper.UnmarshalExact), + "UnmarshalKey": reflect.ValueOf(viper.UnmarshalKey), + "WatchConfig": reflect.ValueOf(viper.WatchConfig), + "WatchRemoteConfig": reflect.ValueOf(viper.WatchRemoteConfig), + "WithCodecRegistry": reflect.ValueOf(viper.WithCodecRegistry), + "WithDecodeHook": reflect.ValueOf(viper.WithDecodeHook), + "WithDecoderRegistry": reflect.ValueOf(viper.WithDecoderRegistry), + "WithEncoderRegistry": reflect.ValueOf(viper.WithEncoderRegistry), + "WithFinder": reflect.ValueOf(viper.WithFinder), + "WithLogger": reflect.ValueOf(viper.WithLogger), + "WriteConfig": reflect.ValueOf(viper.WriteConfig), + "WriteConfigAs": reflect.ValueOf(viper.WriteConfigAs), + "WriteConfigTo": reflect.ValueOf(viper.WriteConfigTo), + + // type definitions + "Codec": reflect.ValueOf((*viper.Codec)(nil)), + "CodecRegistry": reflect.ValueOf((*viper.CodecRegistry)(nil)), + "ConfigFileAlreadyExistsError": reflect.ValueOf((*viper.ConfigFileAlreadyExistsError)(nil)), + "ConfigFileNotFoundError": reflect.ValueOf((*viper.ConfigFileNotFoundError)(nil)), + "ConfigMarshalError": reflect.ValueOf((*viper.ConfigMarshalError)(nil)), + "ConfigParseError": reflect.ValueOf((*viper.ConfigParseError)(nil)), + "Decoder": reflect.ValueOf((*viper.Decoder)(nil)), + "DecoderConfigOption": reflect.ValueOf((*viper.DecoderConfigOption)(nil)), + "DecoderRegistry": reflect.ValueOf((*viper.DecoderRegistry)(nil)), + "DefaultCodecRegistry": reflect.ValueOf((*viper.DefaultCodecRegistry)(nil)), + "Encoder": reflect.ValueOf((*viper.Encoder)(nil)), + "EncoderRegistry": reflect.ValueOf((*viper.EncoderRegistry)(nil)), + "Finder": reflect.ValueOf((*viper.Finder)(nil)), + "FlagValue": reflect.ValueOf((*viper.FlagValue)(nil)), + "FlagValueSet": reflect.ValueOf((*viper.FlagValueSet)(nil)), + "Option": reflect.ValueOf((*viper.Option)(nil)), + "RemoteConfigError": reflect.ValueOf((*viper.RemoteConfigError)(nil)), + "RemoteProvider": reflect.ValueOf((*viper.RemoteProvider)(nil)), + "RemoteResponse": reflect.ValueOf((*viper.RemoteResponse)(nil)), + "StringReplacer": reflect.ValueOf((*viper.StringReplacer)(nil)), + "UnsupportedConfigError": reflect.ValueOf((*viper.UnsupportedConfigError)(nil)), + "UnsupportedRemoteProviderError": reflect.ValueOf((*viper.UnsupportedRemoteProviderError)(nil)), + "Viper": reflect.ValueOf((*viper.Viper)(nil)), + + // interface wrapper definitions + "_Codec": reflect.ValueOf((*_github_com_spf13_viper_Codec)(nil)), + "_CodecRegistry": reflect.ValueOf((*_github_com_spf13_viper_CodecRegistry)(nil)), + "_Decoder": reflect.ValueOf((*_github_com_spf13_viper_Decoder)(nil)), + "_DecoderRegistry": reflect.ValueOf((*_github_com_spf13_viper_DecoderRegistry)(nil)), + "_Encoder": reflect.ValueOf((*_github_com_spf13_viper_Encoder)(nil)), + "_EncoderRegistry": reflect.ValueOf((*_github_com_spf13_viper_EncoderRegistry)(nil)), + "_Finder": reflect.ValueOf((*_github_com_spf13_viper_Finder)(nil)), + "_FlagValue": reflect.ValueOf((*_github_com_spf13_viper_FlagValue)(nil)), + "_FlagValueSet": reflect.ValueOf((*_github_com_spf13_viper_FlagValueSet)(nil)), + "_Option": reflect.ValueOf((*_github_com_spf13_viper_Option)(nil)), + "_RemoteProvider": reflect.ValueOf((*_github_com_spf13_viper_RemoteProvider)(nil)), + "_StringReplacer": reflect.ValueOf((*_github_com_spf13_viper_StringReplacer)(nil)), + } +} + +// _github_com_spf13_viper_Codec is an interface wrapper for Codec type +type _github_com_spf13_viper_Codec struct { + IValue interface{} + WDecode func(b []byte, v map[string]any) error + WEncode func(v map[string]any) ([]byte, error) +} + +func (W _github_com_spf13_viper_Codec) Decode(b []byte, v map[string]any) error { + return W.WDecode(b, v) +} +func (W _github_com_spf13_viper_Codec) Encode(v map[string]any) ([]byte, error) { + return W.WEncode(v) +} + +// _github_com_spf13_viper_CodecRegistry is an interface wrapper for CodecRegistry type +type _github_com_spf13_viper_CodecRegistry struct { + IValue interface{} + WDecoder func(format string) (viper.Decoder, error) + WEncoder func(format string) (viper.Encoder, error) +} + +func (W _github_com_spf13_viper_CodecRegistry) Decoder(format string) (viper.Decoder, error) { + return W.WDecoder(format) +} +func (W _github_com_spf13_viper_CodecRegistry) Encoder(format string) (viper.Encoder, error) { + return W.WEncoder(format) +} + +// _github_com_spf13_viper_Decoder is an interface wrapper for Decoder type +type _github_com_spf13_viper_Decoder struct { + IValue interface{} + WDecode func(b []byte, v map[string]any) error +} + +func (W _github_com_spf13_viper_Decoder) Decode(b []byte, v map[string]any) error { + return W.WDecode(b, v) +} + +// _github_com_spf13_viper_DecoderRegistry is an interface wrapper for DecoderRegistry type +type _github_com_spf13_viper_DecoderRegistry struct { + IValue interface{} + WDecoder func(format string) (viper.Decoder, error) +} + +func (W _github_com_spf13_viper_DecoderRegistry) Decoder(format string) (viper.Decoder, error) { + return W.WDecoder(format) +} + +// _github_com_spf13_viper_Encoder is an interface wrapper for Encoder type +type _github_com_spf13_viper_Encoder struct { + IValue interface{} + WEncode func(v map[string]any) ([]byte, error) +} + +func (W _github_com_spf13_viper_Encoder) Encode(v map[string]any) ([]byte, error) { + return W.WEncode(v) +} + +// _github_com_spf13_viper_EncoderRegistry is an interface wrapper for EncoderRegistry type +type _github_com_spf13_viper_EncoderRegistry struct { + IValue interface{} + WEncoder func(format string) (viper.Encoder, error) +} + +func (W _github_com_spf13_viper_EncoderRegistry) Encoder(format string) (viper.Encoder, error) { + return W.WEncoder(format) +} + +// _github_com_spf13_viper_Finder is an interface wrapper for Finder type +type _github_com_spf13_viper_Finder struct { + IValue interface{} + WFind func(fsys afero.Fs) ([]string, error) +} + +func (W _github_com_spf13_viper_Finder) Find(fsys afero.Fs) ([]string, error) { + return W.WFind(fsys) +} + +// _github_com_spf13_viper_FlagValue is an interface wrapper for FlagValue type +type _github_com_spf13_viper_FlagValue struct { + IValue interface{} + WHasChanged func() bool + WName func() string + WValueString func() string + WValueType func() string +} + +func (W _github_com_spf13_viper_FlagValue) HasChanged() bool { + return W.WHasChanged() +} +func (W _github_com_spf13_viper_FlagValue) Name() string { + return W.WName() +} +func (W _github_com_spf13_viper_FlagValue) ValueString() string { + return W.WValueString() +} +func (W _github_com_spf13_viper_FlagValue) ValueType() string { + return W.WValueType() +} + +// _github_com_spf13_viper_FlagValueSet is an interface wrapper for FlagValueSet type +type _github_com_spf13_viper_FlagValueSet struct { + IValue interface{} + WVisitAll func(fn func(viper.FlagValue)) +} + +func (W _github_com_spf13_viper_FlagValueSet) VisitAll(fn func(viper.FlagValue)) { + W.WVisitAll(fn) +} + +// _github_com_spf13_viper_Option is an interface wrapper for Option type +type _github_com_spf13_viper_Option struct { + IValue interface{} +} + +// _github_com_spf13_viper_RemoteProvider is an interface wrapper for RemoteProvider type +type _github_com_spf13_viper_RemoteProvider struct { + IValue interface{} + WEndpoint func() string + WPath func() string + WProvider func() string + WSecretKeyring func() string +} + +func (W _github_com_spf13_viper_RemoteProvider) Endpoint() string { + return W.WEndpoint() +} +func (W _github_com_spf13_viper_RemoteProvider) Path() string { + return W.WPath() +} +func (W _github_com_spf13_viper_RemoteProvider) Provider() string { + return W.WProvider() +} +func (W _github_com_spf13_viper_RemoteProvider) SecretKeyring() string { + return W.WSecretKeyring() +} + +// _github_com_spf13_viper_StringReplacer is an interface wrapper for StringReplacer type +type _github_com_spf13_viper_StringReplacer struct { + IValue interface{} + WReplace func(s string) string +} + +func (W _github_com_spf13_viper_StringReplacer) Replace(s string) string { + return W.WReplace(s) +}