Documentation ¶
Index ¶
- Constants
- Variables
- func Factories() []string
- func IsErrViewNotFound(err error) bool
- func Register(name string, f Factory)
- func RegisterBuiltinFactories()
- func UnregisterAll()
- type AtomicViewCenter
- type CloneView
- type Config
- type ErrViewNotFound
- type Factory
- type Message
- type NamedViewConfig
- type PlainViewCenter
- type View
- type ViewCenter
- type ViewConfig
Constants ¶
const CloneViewFactoryName = "clone"
CloneViewFactoryName clone view factory name
Variables ¶
var ErrEmptyViewName = errors.New("notification view:empty view name")
Functions ¶
func Factories ¶
func Factories() []string
Factories returns a sorted list of the names of the registered factories.
func IsErrViewNotFound ¶
IsErrViewNotFound check if given error is ErrDeliveryNotFound.
func Register ¶
Register makes a view creator available by the provided name. If Register is called twice with the same name or if driver is nil, it panics.
func RegisterBuiltinFactories ¶
func RegisterBuiltinFactories()
RegisterBuiltinFactories register builtin factories
Types ¶
type AtomicViewCenter ¶
type AtomicViewCenter struct {
// contains filtered or unexported fields
}
AtomicViewCenter render center which use atomic.Value to implement concurrently update,
func NewAtomicViewCenter ¶
func NewAtomicViewCenter() *AtomicViewCenter
NewAtomicViewCenter create new atomic render center.
func (*AtomicViewCenter) Get ¶
func (c *AtomicViewCenter) Get(name string) (View, error)
Get get view by given name. ErrViewNotFound should be returned if given name not found.
func (*AtomicViewCenter) SetViewCenter ¶
func (c *AtomicViewCenter) SetViewCenter(center ViewCenter)
SetViewCenter atomicly update render center.
func (*AtomicViewCenter) ViewCenter ¶
func (c *AtomicViewCenter) ViewCenter() ViewCenter
ViewCenter return render center actually used.
type CloneView ¶
type CloneView struct {
Delivery string
}
CloneView view clone message to notification content
func (*CloneView) Render ¶
func (v *CloneView) Render(m Message) (*notification.Notification, error)
Render render notification with given message. Nil should be returned if notification should not be send.
type Config ¶
type Config struct {
Views []*NamedViewConfig
}
func (*Config) CreateViewCenter ¶
func (c *Config) CreateViewCenter() (ViewCenter, error)
type ErrViewNotFound ¶
type ErrViewNotFound struct {
View string
}
ErrViewNotFound error raised if view not found
func NewErrViewNotFound ¶
func NewErrViewNotFound(view string) *ErrViewNotFound
NewErrViewNotFound create new ErrDeliveryNotFound
type Message ¶
Message Message type Message stores raw information.
func (Message) Get ¶
Get get give value with given name from message Name will be converted to lower
func (Message) MustSetAsJSON ¶
MustSetAsJSON set give value as json with given name to message Name will be converted to lower Panic if marshal fail
type NamedViewConfig ¶
type NamedViewConfig struct { Name string Description string ViewConfig }
type PlainViewCenter ¶
PlainViewCenter plain render center struct
func NewViewCenter ¶
func NewViewCenter() *PlainViewCenter
NewViewCenter create new plain render center
func (*PlainViewCenter) Get ¶
func (c *PlainViewCenter) Get(name string) (View, error)
Get get view by given name. ErrViewNotFound should be returned if given name not found.
func (*PlainViewCenter) Set ¶
func (c *PlainViewCenter) Set(name string, r View)
Set set view with given name.
type View ¶
type View interface { //Render render notification with given message. //Nil should be returned if notification should not be send. Render(Message) (*notification.Notification, error) }
View view interface
func CloneViewFactory ¶
CloneViewFactory clone view factory
type ViewCenter ¶
type ViewCenter interface { //Get get view by given name. //ErrViewNotFound should be returned if given name not found. Get(name string) (View, error) }
ViewCenter render center interface
type ViewConfig ¶
type ViewConfig struct { //RenderType Type string //RenderConfig render config Config func(v interface{}) error `config:", lazyload"` }
func (*ViewConfig) CreateView ¶
func (c *ViewConfig) CreateView() (View, error)