From a89d5cf5fe18b6a287cb40c02a9508c8f3000b6a Mon Sep 17 00:00:00 2001 From: Marius Orcsik Date: Sat, 17 Aug 2019 15:17:10 +0200 Subject: [PATCH] Added a method to check if an IRI is contained it an array of IRIs --- iri.go | 14 ++++++++++++++ iri_test.go | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/iri.go b/iri.go index 5b73f3e..ed75197 100644 --- a/iri.go +++ b/iri.go @@ -8,6 +8,7 @@ import ( type ( // IRI is a Internationalized Resource Identifiers (IRIs) RFC3987 IRI string + IRIs []IRI ) // String returns the String value of the IRI object @@ -59,3 +60,16 @@ func FlattenToIRI(it Item) Item { } return it } + +// Contains verifies if IRIs array contains the received one +func(i IRIs) Contains(r IRI) bool { + if len(i) == 0 { + return true + } + for _, iri := range i { + if strings.ToLower(r.String()) == strings.ToLower(iri.String()) { + return true + } + } + return false +} diff --git a/iri_test.go b/iri_test.go index 2882a18..2e3412d 100644 --- a/iri_test.go +++ b/iri_test.go @@ -66,3 +66,7 @@ func TestFlattenToIRI(t *testing.T) { func TestIRI_URL(t *testing.T) { t.Skipf("TODO") } + +func TestIRIs_Contains(t *testing.T) { + t.Skipf("TODO") +}