- Added extended promise and async operation support to actions via
Publisher#resolve()
,Publisher#reject()
,Publisher#then()
. - Added
Publisher#listenOnce()
.
- Merged
Publisher#listenAndPromise()
withPublisher#listen()
based on the return value of the registered callback. - Renamed internal variables in source and tests from
Reflux
tofluo
. - Removed build results. Travis CI is being used from now on to automatically upload a release for every tag.
- Brought back the
sync: true
option of Actions which makes the functor call#triggerSync()
instead oftrigger()
. The option is no longer configurable after Action instantiation. - Merged
AsyncAction
withAction
; there really was no advantage for having them both.
- Forked and renamed to Fluo.
- Core refactored to a standard prototype-based model.
- The inheritance between fluo components is now clear.
- It is now possible to leverage the
class
syntax provided by ES6 and CoffeeScript. - Actions are now
instanceof fluo.Action
while remaining callable functors. - The
ListenerMethods
andPublisherMethods
objects were turned into proper prototypes (Listener.prototype
andPublisher.prototype
respectively).
Publisher#trigger()
renamed to#triggerSync()
,Publisher#triggerAsync()
renamed to#trigger()
. The default functor behavior is async.Publisher#eventLabel
renamed to#eventType
;Action#actionName
renamed to#actionType
.- Errors about overriding prototype methods are no longer thrown. It is discouraged though to override without sub-classing.
- Removed the possibility to simply set
#preEmit()
and any other properties onAction
instances after creation. This is due to the action being a functor. It can sill be done viaObject.getPrototypeOf(action).preEmit = …
. - Removed the
mixins
option of stores. If a user really wants to use this pattern, they can do it after instantiation. ListenerMixin
andPublisherMixin
were deprecated.
The following is the original CHANGELOG of the Reflux project.
Check for latest changes on the milestones page.
- Added
connectFilter
#222 - A lot of clarifications and typo fixes in documentation. #147, #207, #208, #209, #211, and #214
- Promisable actions #185
- Fixed IE8 bug #202, #187
- Plus other various fixes: #201, #200, #183, and #182
- Store mixins #124
- Fixed circular dependency issue that caused browserify builds not to work as expected #129 #138
- Bind store methods before init() method executes. #168
- Clarify the meaning of "FRP". #161
- Child (async) actions and promise handling #140
- IE8 trailing comma bug fix #145
- Multiple use of Reflux.connect bug fix #142, #143
- Added .npmignore file, removing non-essential files from
npm install
#125
- Breaking change: Set initial state before componentDidMount (in
Reflux.connect
) #117 - Allow extension of actions and stores (with
Reflux.ActionMethods
andReflux.StoreMethods
) #121 - Automatically bind store methods #100
- Bugfix: Connect and listenermixin combo #131
- You may now stop listening to joined listenables individually #96.
- Reflux will now throw an error if you attempt to join less than two listenables #97.
- Added more join methods, i.e.
listener.joinLeading
,listener.joinTrailing
,listener.joinConcat
andlistener.joinStrict
#92. - Actions can be set to sync or async trigger #93.
- And various bug fixes. Check the milestone page.
- Bug fixes. Check the milestone page.
- Added
Reflux.connect
,Reflux.listenTo
,listenToMany
conveniences. See #63 and #75 - Stores may now use a
listenables
prop #63 to automatically register actions to callbacks preEmit
may now map or transform the action payload by returning something. See 58 and #78- Reflux now exposes a
keep
for easier introspection on actions and stores #56 - Added mixin interfaces
ListenerMethods
andPublisherMethods
making it possible for users to extend Reflux's actions and stores. See #45
- Added support for initial data handling #49
- Added CHANGELOG.md #50
- Bug: Unregistered actions could not be reregistered #47
- Added possibility to join actions and stores with
Reflux.all
#27, #28 - Added circular dependency check #26
- Bug fix
- Added hooks
preEmit
andshouldEmit
for actions #16 - Various bug fixes and
.jshintrc
file created for grunt build
- Added convenience function to create multiple actions #6
- Bug: createStore's unsubscribe function was broken #5
- Removed lodash dependency #1