From b55a0f4086ee6991269e9f3692776bfae8d27a78 Mon Sep 17 00:00:00 2001 From: Dmitrii Aleksandrov Date: Sun, 7 Dec 2025 12:36:07 +0300 Subject: [PATCH] auto-mapper: reuse existing routes Signed-off-by: Dmitrii Aleksandrov --- auto.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/auto.go b/auto.go index 70e283e..a18a692 100644 --- a/auto.go +++ b/auto.go @@ -31,12 +31,15 @@ func AutoRoute[TSource, TDest any | []any](opts ...Option) error { } srcFld := sourceStorage.MustFind(sourcePath) - if destFld.GetType() != srcFld.GetType() { + if slices.Contains(opt.Excluded, srcFld) { continue } - if slices.Contains(opt.Excluded, srcFld) { + + if destFld.GetType() != srcFld.GetType() { + _ = Map(srcFld.Get(source), destFld.GetPtr(dest)) continue } + if err := setFieldRecursive(srcFld, destFld, source, dest); err != nil { return err }