Skip to content

Instantly share code, notes, and snippets.

@threepointone
Last active February 13, 2023 02:12
Show Gist options
  • Star 15 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save threepointone/43f16389fd96561a8b0b to your computer and use it in GitHub Desktop.
Save threepointone/43f16389fd96561a8b0b to your computer and use it in GitHub Desktop.
sto alternate api
// store.js
let {store, handler} = sto(initialState, reduceFn); // where reduceFn: function(currentState, action, ...args){}
dispatcher.register(handler);
export store;
// elsewhere
store.get() // -> current state
store.toObservable() // -> to be used with .observe()
// that's it.
@threepointone
Copy link
Author

just read the part where dispatcher holds state. good idea, need to think it though..

@threepointone
Copy link
Author

export const store = dispatcher.register(initialState, reduceFn);

this changes the register signature, but should be easier to do the above now.

@gaearon
Copy link

gaearon commented May 6, 2015

Here's something I played with: https://gist.github.com/gaearon/c02f3eb38724b64ab812
Let me know your thoughts!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment