From b434fe4e14f6dcc8d1d7433a29351b8e8ea77d37 Mon Sep 17 00:00:00 2001 From: Charlie Stanton Date: Thu, 2 May 2024 21:45:45 +0100 Subject: Add , subex syntax to make FullMerge commands easier --- subex/filter.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'subex/filter.go') diff --git a/subex/filter.go b/subex/filter.go index ae4b8ab..309d6c7 100644 --- a/subex/filter.go +++ b/subex/filter.go @@ -27,6 +27,26 @@ func (_ anyBoolFilter) valueFilter(value walk.Value) bool { return isBool } +type simpleValueFilter struct {} +func (_ simpleValueFilter) valueFilter(value walk.Value) bool { + switch value := value.(type) { + case walk.NullValue: + return true + case walk.BoolValue: + return true + case walk.NumberValue: + return true + case walk.StringValue: + return true + case walk.ArrayValue: + return len(value) == 0 + case walk.MapValue: + return len(value) == 0 + default: + panic("Invalid value type") + } +} + type anyValueFilter struct {} func (_ anyValueFilter) valueFilter(value walk.Value) bool { return true -- cgit v1.2.3