func (p *PubSub) RegisterTopicValidator(topic string, val Validator, opts ...ValidatorOpt) error {
	addVal := &addValReq{
		topic:    topic,
		validate: val,
		resp:     make(chan error, 1),
	}

	for _, opt := range opts {
		err := opt(addVal)
		if err != nil {
			return err
		}
	}

	p.addVal <- addVal
	return <-addVal.resp
}
func (p *PubSub) RegisterTopicValidator(topic string, val Validator, opts ...ValidatorOpt) error {
	addVal := &addValReq{
		topic:    topic,
		validate: val,
		resp:     make(chan error, 1),
	}

	for _, opt := range opts {
		err := opt(addVal)
		if err != nil {
			return err
		}
	}

	p.addVal <- addVal
	return <-addVal.resp
}
func ( p * PubSub ) RegisterTopicValidator ( topic string , val Validator , opts ... ValidatorOpt ) error { addVal := & addValReq { topic : topic , validate : val , resp : make ( chan error , 1 ) , } for _ , opt := range opts { err := opt ( addVal ) if err != nil { return err } } p . addVal <- addVal return <- addVal . resp }
// RegisterTopicValidator registers a validator for topic.
RegisterTopicValidator registers a validator for topic .