goreact

package module
v0.0.0-...-36c9fed Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2020 License: Apache-2.0 Imports: 2 Imported by: 0

README

goreact

light and very simple reactive framework for go In fact this is just an Observer pattern for now Todo

  • Operator
  • Hot/Cold Signals
  • So much more

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SafelyListeningSignals

func SafelyListeningSignals(s *Signal, action func(bag BagDisposer))

Types

type BagDisposer

type BagDisposer struct {
	ReusableBagDisposer
	// contains filtered or unexported fields
}

func MakeBagDisposer

func MakeBagDisposer() BagDisposer

type ChanInjector

type ChanInjector struct {
	// contains filtered or unexported fields
}

func NewChanInjector

func NewChanInjector() *ChanInjector

func (*ChanInjector) SendCompleted

func (i *ChanInjector) SendCompleted()

func (*ChanInjector) SendFailed

func (i *ChanInjector) SendFailed(err error)

func (*ChanInjector) SendNext

func (i *ChanInjector) SendNext(value interface{})

type CompletedEvent

type CompletedEvent func(completed bool) Disposable

type CompletedEventWithMeta

type CompletedEventWithMeta func(completed bool, metas ...interface{}) Disposable

type Disposable

type Disposable interface {
	Dispose()
}

type DisposableFunc

type DisposableFunc func()

func (DisposableFunc) Dispose

func (df DisposableFunc) Dispose()

type Disposer

type Disposer struct {
	// contains filtered or unexported fields
}

func (Disposer) Dispose

func (d Disposer) Dispose()

type DisposerList

type DisposerList []Disposable

func (DisposerList) Dispose

func (dl DisposerList) Dispose()

type DisposerWithAction

type DisposerWithAction struct {
	Disposable
	// contains filtered or unexported fields
}

func MakeDisposerWithAction

func MakeDisposerWithAction(s *Signal, action func()) DisposerWithAction

func (DisposerWithAction) Dispose

func (dwa DisposerWithAction) Dispose()

type FailedEvent

type FailedEvent func(err error) Disposable

type FailedEventWithMeta

type FailedEventWithMeta func(err error, metas ...interface{}) Disposable

type Injector

type Injector interface {
	SendFailed(err error)
	SendNext(value interface{})
	SendCompleted()
}

type MetaObserve

type MetaObserve struct {
	// contains filtered or unexported fields
}

func (MetaObserve) CleanUp

func (o MetaObserve) CleanUp()

func (MetaObserve) GetId

func (o MetaObserve) GetId() uuid.UUID

func (MetaObserve) SendCompleted

func (o MetaObserve) SendCompleted()

func (MetaObserve) SendFailed

func (o MetaObserve) SendFailed(err error)

func (MetaObserve) SendNext

func (o MetaObserve) SendNext(value interface{})

func (MetaObserve) SendTerminated

func (o MetaObserve) SendTerminated()

type NextEvent

type NextEvent func(v interface{}) Disposable

type NextEventWithMeta

type NextEventWithMeta func(v interface{}, metas ...interface{}) Disposable

type Observe

type Observe struct {
	// contains filtered or unexported fields
}

func (Observe) CleanUp

func (o Observe) CleanUp()

func (Observe) GetId

func (o Observe) GetId() uuid.UUID

func (Observe) SendCompleted

func (o Observe) SendCompleted()

func (Observe) SendFailed

func (o Observe) SendFailed(err error)

func (Observe) SendNext

func (o Observe) SendNext(value interface{})

func (Observe) SendTerminated

func (o Observe) SendTerminated()

type Observer

type Observer interface {
	Injector
	GetId() uuid.UUID
	CleanUp()
	SendTerminated()
}

type Pipe

type Pipe struct {
	Signal   *Signal
	Injector Injector
}

func NewPipe

func NewPipe() Pipe

type ReusableBagDisposer

type ReusableBagDisposer struct {
	// contains filtered or unexported fields
}

func MakeReusableBagDisposer

func MakeReusableBagDisposer() ReusableBagDisposer

func (ReusableBagDisposer) Add

func (bag ReusableBagDisposer) Add(disps ...Disposable)

func (ReusableBagDisposer) Dispose

func (bag ReusableBagDisposer) Dispose()

type Signal

type Signal struct {
	// contains filtered or unexported fields
}

func Merge

func Merge(inners ...*Signal) *Signal

func NewEmptySignal

func NewEmptySignal() *Signal

func NewSignal

func NewSignal(generator func(obs Injector)) *Signal

func NewSignalWithMeta

func NewSignalWithMeta(generator func(obs Injector, meta ...interface{}), meta ...interface{}) *Signal

func (*Signal) Filter

func (s *Signal) Filter(filter func(value interface{}) (include bool)) *Signal

func (*Signal) FlatMap

func (s *Signal) FlatMap(mapping func(value interface{}) *Signal) *Signal

func (*Signal) Listen

func (s *Signal) Listen(next NextEvent, failed FailedEvent, completed CompletedEvent) Disposable

func (*Signal) ListenCompleted

func (s *Signal) ListenCompleted(completed CompletedEvent) Disposable

func (*Signal) ListenCompletedWithMeta

func (s *Signal) ListenCompletedWithMeta(completed CompletedEventWithMeta, metas ...interface{}) Disposable

func (*Signal) ListenFailed

func (s *Signal) ListenFailed(failed FailedEvent) Disposable

func (*Signal) ListenFailedWithMeta

func (s *Signal) ListenFailedWithMeta(failed FailedEventWithMeta, metas ...interface{}) Disposable

func (*Signal) ListenNext

func (s *Signal) ListenNext(next NextEvent) Disposable

func (*Signal) ListenNextWithMeta

func (s *Signal) ListenNextWithMeta(next NextEventWithMeta, metas ...interface{}) Disposable

func (*Signal) ListenTerminated

func (s *Signal) ListenTerminated(terminated TerminatedEvent) Disposable

func (*Signal) ListenWithMeta

func (s *Signal) ListenWithMeta(next NextEventWithMeta, failed FailedEventWithMeta, completed CompletedEventWithMeta, metas ...interface{}) Disposable

func (*Signal) Map

func (s *Signal) Map(transformer func(value interface{}) (interface{}, error)) *Signal

func (*Signal) Merge

func (s *Signal) Merge(inners ...*Signal) *Signal

func (*Signal) On

func (s *Signal) On(next NextEvent, failed FailedEvent, completed CompletedEvent) *Signal

Operators

func (*Signal) OnNext

func (s *Signal) OnNext(side NextEvent) *Signal

type TerminatedEvent

type TerminatedEvent func() Disposable

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL