Giter Club home page Giter Club logo

re-frankenstein's People

Contributors

areina avatar assoc-in avatar ayshvab avatar chpill avatar danielcompton avatar dexterminator avatar ducky427 avatar estsauver avatar flexsurfer avatar gadfly361 avatar gregg8 avatar hipitihop avatar idmitrievsky avatar kamn avatar madvas avatar martinklepsch avatar mbertheau avatar micmarsh avatar mike-thompson-day8 avatar oliyh avatar plexus avatar ricardojmendez avatar richardharrington avatar robjens avatar scgilardi avatar si14 avatar smahood avatar stumitchell avatar thenonameguy avatar tomasd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

davidalphafox

re-frankenstein's Issues

Cannot dispatch from effect handler

I started to try writing an effect handler, akin to https://github.com/Day8/re-frame-http-fx

In the code of the handler, there is a call to dispatch that is made...

So we need a way to allow effect handlers to dispatch "locally". The best solution is probably to inject partially applied dispatch! and dispatch-sync! as coeffects.

Currently, all the swapping out of handlers and middleware happpens before the creation of the frank, so we cannot add this coeffect at that moment...

I see 2 solutions here:

  • When dispatching an event on frank, systematically add an interceptor at the beginning of the chain that will make sure dispatch! and dispatch-sync! are available as coeffects. The issue with this is that what is stored in the registry will no longer be completely representative of what happens when you dispatch...

  • Make the frank hold a registry atom instead of a registry value. Then change the state of that reference to add the new coeffect. Maybe the "local version" of the do-fx interceptor that we inject can be extended with a :before that takes care of that.

I'll have a go at solution 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.