From bd27e8db7e7c09098bcd50e3e43fdd33943d6a7c Mon Sep 17 00:00:00 2001 From: Anton Sattarov <dirty.mew@gmail.com> Date: Fri, 17 Jan 2025 09:53:19 +0100 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20=D0=BA=D0=BE=D0=BF?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=84=D0=B8?= =?UTF-8?q?=D0=BB=D1=8C=D1=82=D1=80=D0=B0=20items?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/items/service.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkg/items/service.go b/pkg/items/service.go index b193076b..747f1554 100644 --- a/pkg/items/service.go +++ b/pkg/items/service.go @@ -74,6 +74,22 @@ func NewFilter(params ...interface{}) *Filter { return f } +func (f *Filter) Clone() *Filter { + if f == nil { + return nil + } + clone := &Filter{ + ID: make([]string, len(f.ID)), + Data: make([]*filter.Filter, len(f.Data)), + Q: make([]string, len(f.Q)), + Search: f.Search, + } + copy(clone.ID, f.ID) + copy(clone.Data, f.Data) + copy(clone.Q, f.Q) + return clone +} + // AggregateExpRe - формат, которому должна соответствовать формула расчета данных var AggregateExpRe = regexp.MustCompile(`([a-zA-Z]+)\((.*)\)`) -- GitLab