diff --git a/internal/pkg/commands/funcmap.go b/internal/pkg/commands/funcmap.go
index 71f7d9d..7cfa6d8 100644
--- a/internal/pkg/commands/funcmap.go
+++ b/internal/pkg/commands/funcmap.go
@@ -171,6 +171,26 @@
 	},
 }
 
+// Get the descriptor source using the current ApiVersion setting
+func GetDescriptorSource() (grpcurl.DescriptorSource, error) {
+	version := GlobalConfig.ApiVersion
+	filename, ok := descriptorMap[version]
+	if !ok {
+		return nil, &DescriptorNotFoundError{version}
+	}
+	var fds descpb.FileDescriptorSet
+	err := proto.Unmarshal(filename, &fds)
+	if err != nil {
+		return nil, &UnableToParseDescriptorErrror{err, version}
+	}
+	desc, err := grpcurl.DescriptorSourceFromFileDescriptorSet(&fds)
+	if err != nil {
+		return nil, err
+	}
+
+	return desc, nil
+}
+
 func GetMethod(name string) (grpcurl.DescriptorSource, string, error) {
 	version := GlobalConfig.ApiVersion
 	f, ok := functionMap[name]
@@ -181,17 +201,7 @@
 	if !ok {
 		return nil, "", &MethodVersionNotFoundError{name, version}
 	}
-	filename, ok := descriptorMap[version]
-	if !ok {
-		return nil, "", &DescriptorNotFoundError{version}
-	}
-
-	var fds descpb.FileDescriptorSet
-	err := proto.Unmarshal(filename, &fds)
-	if err != nil {
-		return nil, "", &UnableToParseDescriptorErrror{err, version}
-	}
-	desc, err := grpcurl.DescriptorSourceFromFileDescriptorSet(&fds)
+	desc, err := GetDescriptorSource()
 	if err != nil {
 		return nil, "", err
 	}
