Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

decouple re-frame and reagent+core.async #107

Closed
wants to merge 44 commits into from

Commits on Aug 16, 2015

  1. decouple re-frame and reagent+core.async

    This rewrite was motivated by day8#106.
    
    In essence re-frame provides a transducer: state, event -> state.
    This transducer is able to apply algorithmic transformations on series of events
    and build final state up. This allows complete decoupling of re-frame handlers,
    subscriptions and middlewares logic from mechanisms how events are queued,
    processed and how are their effects applied to app-db. This "bare re-frame" is
    implemented in frame.cljs.
    
    For maximal flexibility bare re-frame must be pure and have no special knowledge
    of app-db, reagent/ratom and core.async. It must be possible to create multiple
    independent instances of bare re-frame.
    
    For convenience scaffold.cljs is re-implementing original re-frame functionality
    of v0.4.1 using those new bare primitives. This is exposed as public api via
    core.cljs.
    
    App developer can opt-in using default implementation by requiring re-frame.core.
    In this scenario re-frame provides a single app-db which is reagent's ratom and
    runs single event loop where events are dispatched and processed via core.async
    channel. A single re-frame instance is created and kept in
    re-frame.core/app-frame atom. Plus developer gets access to the original
    imperative API to manipulate them.
    
    App developer is also free to pick/implement other means of employing bare
    re-frame by not requiring re-frame.core directly and to build own scaffold
    around bare re-frame primitives.
    darwin committed Aug 16, 2015
    Configuration menu
    Copy the full SHA
    0e182a2 View commit details
    Browse the repository at this point in the history
  2. forgot to remove extra apply

    darwin committed Aug 16, 2015
    Configuration menu
    Copy the full SHA
    a54eaf1 View commit details
    Browse the repository at this point in the history
  3. remove debug logging

    darwin committed Aug 16, 2015
    Configuration menu
    Copy the full SHA
    200aef2 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2015

  1. fix broken project repo url

    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    6bf1aba View commit details
    Browse the repository at this point in the history
  2. bump project version to 0.5.0

    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    6e9eefd View commit details
    Browse the repository at this point in the history
  3. minor refinements in tests

    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    b7f78b8 View commit details
    Browse the repository at this point in the history
  4. bump todomvc deps

    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    0f4fcd6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5ee36de View commit details
    Browse the repository at this point in the history
  6. fix comp-middleware

    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    329a57f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    b62e3ab View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    072ac10 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    bae4df8 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    bd4602f View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    dc0981a View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    c05223f View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    2778d5a View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    3d72b79 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    addfb80 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    c09f3c6 View commit details
    Browse the repository at this point in the history
  17. properly override protocol on defrecord

    thanks @nberger
    
    compiler was complaining and didn't overwrite existing protocol:
    WARNING: Protocol IPrintWithWriter implemented multiple times at line 35 src/re_frame/frame.cljs
    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    7a8156d View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    568cdd3 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    751ccfb View commit details
    Browse the repository at this point in the history
  20. give our transducer some love

    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    a56a6e7 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    173e824 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    a52d360 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    4137a0d View commit details
    Browse the repository at this point in the history
  24. better logging helpers

    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    12e9b66 View commit details
    Browse the repository at this point in the history
  25. return pure handler for compatibility reasons

    but issue a warning when used
    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    049285b View commit details
    Browse the repository at this point in the history
  26. fix a typo

    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    e9f525d View commit details
    Browse the repository at this point in the history
  27. DRY logger helpers

    as suggested by @thenonameguy
    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    9b31889 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    5f4be3c View commit details
    Browse the repository at this point in the history
  29. various tweaks to increase reusability of scaffold code

    lessons learned from plastic
    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    4a7873d View commit details
    Browse the repository at this point in the history
  30. move transduce-event(s)-by-resetting-atom to utils

    and give it a better name
    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    f393cc4 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    5ff3204 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    14314dd View commit details
    Browse the repository at this point in the history
  33. frame polishing

    darwin committed Aug 17, 2015
    Configuration menu
    Copy the full SHA
    e534e6a View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2015

  1. add frame/process-events

    darwin committed Aug 18, 2015
    Configuration menu
    Copy the full SHA
    ff346a8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8f61e93 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    911ab0f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    df66bf5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    22e91e1 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2015

  1. Configuration menu
    Copy the full SHA
    dc82af6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6ad431f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    069b7cc View commit details
    Browse the repository at this point in the history