Fastflux Home Reference Source Repository
import ObservableState from 'fastflux/core/observable/state'
public class | source

ObservableState

Extends:

Observable → ObservableState

Direct Subclass:

Store

Example:

let name = new ObservableState("Foo");

name.getData(initial => console.log("Initial:", initial));
//> Initial: Foo

name.subscribe(data => {
  console.log("Received:", data);
  name.getState(currentState => assert(data === currentState))
});

name.emit("Foobar");
//> Received: Foobar

Constructor Summary

Public Constructor
public

constructor(initialState: Any)

Method Summary

Public Methods
public

emit(value: Any)

Same as Observable#emit, but sets current state to value before emitting

public

filter(predicate: function(value: Any): boolean): ObservableState

Same as Observable#filter, but returns ObservableState

public

getState(callback: function): Any | undefined

Return current state or asynchronously invoke callback

public

map(mapper: function(value: Any): Any): ObservableState

Same as Observable#map, but returns ObservableState

public

reduce(accumulator: Any, reducer: function(accumulator: Any, value: Any): Any): ObservableState

Same as Observable#reduce, but starts with current state reduced

Inherited Summary

From class Observable
public

emit(value: Any)

Invoke each registered listener with value.

public

filter(predicate: function(value: Any): boolean): Observable

public

True if listener has subscribed to this observable

public

map(mapper: function(value: Any): Any): Observable

public

reduce(accumulator: Any, reducer: function(accumulator: Any, value: Any): Any): ObservableState

public

Register listener

public

unsubscribe(listener: function)

Unregister listener

Public Constructors

public constructor(initialState: Any) source

Params:

NameTypeAttributeDescription
initialState Any

Public Methods

public emit(value: Any) source

Same as Observable#emit, but sets current state to value before emitting

Override:

Observable#emit

Params:

NameTypeAttributeDescription
value Any

new state

public filter(predicate: function(value: Any): boolean): ObservableState source

Same as Observable#filter, but returns ObservableState

Override:

Observable#filter

Params:

NameTypeAttributeDescription
predicate function(value: Any): boolean

Return:

ObservableState

public getState(callback: function): Any | undefined source

Return current state or asynchronously invoke callback

Params:

NameTypeAttributeDescription
callback function
  • optional

Return:

Any | undefined

Example:

Without arguments - synchronous
let name = new ObservableState("Guest");
let val = name.getState();
assert(val === "Guest");
With callback - asynchronous
let name = new ObservableState("Guest");
let returnVal = name.getState(val => {
  assert(val === "Guest")
});
assert(returnVal === undefined);

public map(mapper: function(value: Any): Any): ObservableState source

Same as Observable#map, but returns ObservableState

Override:

Observable#map

Params:

NameTypeAttributeDescription
mapper function(value: Any): Any

how to transform the emitted value

Return:

ObservableState

public reduce(accumulator: Any, reducer: function(accumulator: Any, value: Any): Any): ObservableState source

Same as Observable#reduce, but starts with current state reduced

Override:

Observable#reduce

Params:

NameTypeAttributeDescription
accumulator Any

initial state

reducer function(accumulator: Any, value: Any): Any

Return:

ObservableState