summaryrefslogtreecommitdiffstats
path: root/compare
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-08-17 10:24:17 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-08-18 07:36:32 +0200
commit08f48b91d68d3002b887ddf737456ff0cc4e786d (patch)
treed0f37154d11cc6f5ab8d543d025e708cdc9f4acc /compare
parent2fc121ce2308b090ab67cbeb3039c53f5eedaa64 (diff)
compare, hugolib, tpl: Add Eqer interface
And use it in `eq` and `ne` so `Page` values can be compared directly in the templates without thinking about it being a `Page` or a `PageOutput` wrapper. Fixes #3807
Diffstat (limited to 'compare')
-rw-r--r--compare/eq.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/compare/eq.go b/compare/eq.go
new file mode 100644
index 000000000..6120c0bf2
--- /dev/null
+++ b/compare/eq.go
@@ -0,0 +1,21 @@
+// Copyright 2017-present The Hugo Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package compare
+
+// Eqer can be used to determine if this value is equal to the other.
+// The semantics of equals is that the two value are interchangeable
+// in the Hugo templates.
+type Eqer interface {
+ Eq(other interface{}) bool
+}