From 644c81d281b7665422bce62a49c4b89e6c8a2462 Mon Sep 17 00:00:00 2001 From: Florian Bernd Date: Thu, 16 Oct 2025 12:27:37 +0200 Subject: [PATCH] Add implicit conversion operators for handcrafted descriptors (#8743) (cherry picked from commit 52c356155d4de4b2332996920c3ae6144ffac6e1) --- .../_Shared/Helpers/BulkAllRequest.cs | 2 ++ .../_Shared/Types/Core/Bulk/BulkCreateOperationDescriptor.cs | 2 ++ .../_Shared/Types/Core/Bulk/BulkDeleteOperationDescriptor.cs | 4 ++++ .../_Shared/Types/Core/Bulk/BulkIndexOperationDescriptor.cs | 2 ++ .../_Shared/Types/Core/Bulk/BulkOperationDescriptor.cs | 2 ++ .../_Shared/Types/Core/Bulk/BulkUpdateOperationDescriptor.cs | 2 ++ 6 files changed, 14 insertions(+) diff --git a/src/Elastic.Clients.Elasticsearch/_Shared/Helpers/BulkAllRequest.cs b/src/Elastic.Clients.Elasticsearch/_Shared/Helpers/BulkAllRequest.cs index c209dc4e546..e64dd71c67a 100644 --- a/src/Elastic.Clients.Elasticsearch/_Shared/Helpers/BulkAllRequest.cs +++ b/src/Elastic.Clients.Elasticsearch/_Shared/Helpers/BulkAllRequest.cs @@ -65,6 +65,8 @@ public sealed class BulkAllRequestDescriptor { internal BulkAllRequest Instance { get; } + public static implicit operator BulkAllRequest(BulkAllRequestDescriptor descriptor) => descriptor.Instance; + public BulkAllRequestDescriptor(IEnumerable documents) { Instance = new(documents); diff --git a/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkCreateOperationDescriptor.cs b/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkCreateOperationDescriptor.cs index 5990cb8e531..25107e199c2 100644 --- a/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkCreateOperationDescriptor.cs +++ b/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkCreateOperationDescriptor.cs @@ -14,6 +14,8 @@ public sealed class BulkCreateOperationDescriptor : { internal new BulkCreateOperation Instance => (BulkCreateOperation)base.Instance; + public static implicit operator BulkCreateOperation(BulkCreateOperationDescriptor descriptor) => descriptor.Instance; + public BulkCreateOperationDescriptor(TSource source) : base(new BulkCreateOperation(source)) { diff --git a/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkDeleteOperationDescriptor.cs b/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkDeleteOperationDescriptor.cs index cf4bc4e2ec5..909528f2887 100644 --- a/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkDeleteOperationDescriptor.cs +++ b/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkDeleteOperationDescriptor.cs @@ -9,6 +9,8 @@ public class BulkDeleteOperationDescriptor : { private new BulkDeleteOperation Instance => (BulkDeleteOperation)base.Instance; + public static implicit operator BulkDeleteOperation(BulkDeleteOperationDescriptor descriptor) => descriptor.Instance; + public BulkDeleteOperationDescriptor() : base(new BulkDeleteOperation(null!)) { @@ -25,6 +27,8 @@ public sealed class BulkDeleteOperationDescriptor : { private new BulkDeleteOperation Instance => (BulkDeleteOperation)base.Instance; + public static implicit operator BulkDeleteOperation(BulkDeleteOperationDescriptor descriptor) => descriptor.Instance; + public BulkDeleteOperationDescriptor() : base(new BulkDeleteOperation(null!)) { diff --git a/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkIndexOperationDescriptor.cs b/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkIndexOperationDescriptor.cs index 857716bc77b..26cc914c6e2 100644 --- a/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkIndexOperationDescriptor.cs +++ b/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkIndexOperationDescriptor.cs @@ -14,6 +14,8 @@ public sealed class BulkIndexOperationDescriptor : { internal new BulkIndexOperation Instance => (BulkIndexOperation)base.Instance; + public static implicit operator BulkIndexOperation(BulkIndexOperationDescriptor descriptor) => descriptor.Instance; + public BulkIndexOperationDescriptor(TSource source) : base(new BulkIndexOperation(source)) { diff --git a/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkOperationDescriptor.cs b/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkOperationDescriptor.cs index e5bc6d44002..aeaaeaa2649 100644 --- a/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkOperationDescriptor.cs +++ b/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkOperationDescriptor.cs @@ -10,6 +10,8 @@ public abstract class BulkOperationDescriptor protected TDescriptor Self => (TDescriptor)this; internal BulkOperation Instance { get; } + public static implicit operator BulkOperation(BulkOperationDescriptor descriptor) => descriptor.Instance; + internal BulkOperationDescriptor(BulkOperation instance) { Instance = instance; diff --git a/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkUpdateOperationDescriptor.cs b/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkUpdateOperationDescriptor.cs index 960d57ddbab..6628406a577 100644 --- a/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkUpdateOperationDescriptor.cs +++ b/src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkUpdateOperationDescriptor.cs @@ -13,6 +13,8 @@ public sealed class BulkUpdateOperationDescriptor : { internal new BulkUpdateOperation Instance => (BulkUpdateOperation)base.Instance; + public static implicit operator BulkUpdateOperation(BulkUpdateOperationDescriptor descriptor) => descriptor.Instance; + public BulkUpdateOperationDescriptor() : base(new BulkUpdateOperation(null!)) {