aboutsummaryrefslogtreecommitdiffstats
path: root/whisper/topic.go
diff options
context:
space:
mode:
Diffstat (limited to 'whisper/topic.go')
-rw-r--r--whisper/topic.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/whisper/topic.go b/whisper/topic.go
index 10069c902..7792e437f 100644
--- a/whisper/topic.go
+++ b/whisper/topic.go
@@ -17,6 +17,32 @@ func NewTopic(data []byte) Topic {
return Topic(prefix)
}
+// NewTopics creates a list of topics from a list of binary data elements, by
+// iteratively calling NewTopic on each of them.
+func NewTopics(data ...[]byte) []Topic {
+ topics := make([]Topic, len(data))
+ for i, element := range data {
+ topics[i] = NewTopic(element)
+ }
+ return topics
+}
+
+// NewTopicFromString creates a topic using the binary data contents of the
+// specified string.
+func NewTopicFromString(data string) Topic {
+ return NewTopic([]byte(data))
+}
+
+// NewTopicsFromStrings creates a list of topics from a list of textual data
+// elements, by iteratively calling NewTopicFromString on each of them.
+func NewTopicsFromStrings(data ...string) []Topic {
+ topics := make([]Topic, len(data))
+ for i, element := range data {
+ topics[i] = NewTopicFromString(element)
+ }
+ return topics
+}
+
// String converts a topic byte array to a string representation.
func (self *Topic) String() string {
return string(self[:])