Liking cljdoc? Tell your friends :D

deepstate.action.async


async-action-bindingscljsmacro

(async-action-bindings key
                       [state-bindings async-action-state-bindings
                        action-bindings]
                       state
                       action
                       &
                       body)

a macro which establishes bindings for async action definitions... both the action-data-promise and the effects-map can use these bindings to destructure the global state, the async-action-state and the action map

a macro which establishes bindings for async action definitions... both
the `action-data-promise` and the `effects-map` can use
these bindings to destructure the global `state`, the `async-action-state`
and the `action` map
sourceraw docstring

async-action-handlercljs

(async-action-handler key state action async-action-data-promise reaction-fn)

a promise-based async action handler providing a consistent format for handling and recording emerging async-action-state, and for interacting with navigation

  • key : the ::action/key to match a dispatch. identifies the action, and is the default path of the async-action-state in state
  • state : the global state
  • action : the action map value being handled
    • ::action/path - instead of updating the state at key, update the state at path
  • async-action-data-promise : a promise of the action data
  • reactino-fn : a (fn <state>) to be called when the promise completes, returning an effects map

async-action-state will be updated at ::action-path with a map with these keys:

 `::action/status` - `::inflight` | `::success` | `::error`
 `::action/action` - the `action` map
 `::action/data` - the happy-path result of the `async-action-data-promise`
 `::action/error` - any error result of the `async-action-data-promise`
a promise-based async action handler providing a consistent
format for handling and recording emerging `async-action-state`, and
for interacting with navigation

- `key` : the `::action/key` to match a `dispatch`. identifies the action,
     and is the default path of the `async-action-state` in `state`
- `state` : the global state
- `action` : the action map value being handled
  - `::action/path` - instead of updating the `state` at `key`,
                      update the `state` at `path`
- `async-action-data-promise` : a promise of the action data
- `reactino-fn` : a (fn <state>) to be called when the promise completes,
    returning an effects map

`async-action-state` will be updated at `::action-path` with a map
 with these keys:
 ```Clojure
  `::action/status` - `::inflight` | `::success` | `::error`
  `::action/action` - the `action` map
  `::action/data` - the happy-path result of the `async-action-data-promise`
  `::action/error` - any error result of the `async-action-data-promise`
 ```
sourceraw docstring

def-async-actioncljsmacro

(def-async-action key
                  [_state-bindings _async-action-state-bindings _action-bindings
                   :as bindings]
                  async-action-data-promise
                  effects-map)

a macro which defines an action handler to service a promise-based async action

an async-action-state map will be initialised at a path in the global state map, and updated after the action has completed. async-action-state will have shape:

{::action/status ::inflight|::success|::error ::action/action <action-map> ::action/data <async-action-data> ::action/error <action-error>}

  • key : the action key and the default path in the state for the async-action-state
  • state-bindings : fn bindings to destructure the global state map
  • async-action-state-bindings : fn bindings to destructure the async-action-state map
  • action-bindings : fn bindings to destructure the action map
  • async-action-data-promise : form returning a promise of the <async-action-data> - may use any established bindings
  • effects-map : form which will be evaluated when the async-action-data-promise completes and returning action-effects including ::action/state, ::action/dispatch and ::action/navigate
a macro which defines an action handler to service a promise-based async
action

an `async-action-state` map will be initialised at a path in the global
`state` map, and updated after the action has completed.
`async-action-state` will have shape:

  {`::action/status` `::inflight|::success|::error`
   `::action/action` `<action-map>`
   `::action/data` `<async-action-data>`
   `::action/error` `<action-error>`}

 - `key` : the action key and the default path in the `state` for
         the `async-action-state`
 - `state-bindings` : fn bindings to destructure the global `state` map
 - `async-action-state-bindings` : fn bindings to destructure the
      `async-action-state` map
 - `action-bindings` : fn bindings to destructure the `action` map
 - `async-action-data-promise` : form returning a promise of the
    `<async-action-data>` - may use any established bindings
 - `effects-map` : form which will be evaluated when the
   `async-action-data-promise` completes and
     returning `action-effects` including `::action/state`,
    `::action/dispatch` and `::action/navigate`
sourceraw docstring

def-async-action-handlercljsmacro

(def-async-action-handler key
                          [_state-bindings _async-action-state-bindings
                           _action-bindings :as bindings]
                          async-action-data-promise
                          effects-map
                          handler-fn)

a macro which defines a handler for an async action, leaving particular behaviour to the handler-fn. def-async-action and deepstate.action.axios/def-axios-action both defer to this macro

  • key - the action key
  • bindings - bindings for the global state, the async-action-state and the action map
  • async-action-data-promise - a promise of the data for the async action
  • effects-map - a form to be evaluated after the async-action-data-promise has completed
  • handler-fn - the fn implementing specific async action behaviour
a macro which defines a handler for an async action, leaving
particular behaviour to the `handler-fn`.
[[def-async-action]] and [[deepstate.action.axios/def-axios-action]]
both defer to this macro
- `key` - the action key
- `bindings` - bindings for the global `state`, the `async-action-state` and
    the `action` map
- `async-action-data-promise` - a promise of the data for the async action
- `effects-map` - a form to be evaluated after the
   `async-action-data-promise` has completed
- `handler-fn` - the fn implementing specific async action behaviour
sourceraw docstring

(navigate-always async-action-state url)
(navigate-always effs async-action-state url)

reaction helper - always navigate

reaction helper - always navigate
sourceraw docstring

(navigate-on-error async-action-state url)
(navigate-on-error effs async-action-state url)

reaction helper - navigate only on error

reaction helper - navigate only on error
sourceraw docstring

(navigate-on-inflight async-action-state url)
(navigate-on-inflight effs async-action-state url)

reaction helper - navigate only when inflight

reaction helper - navigate only when inflight
sourceraw docstring

(navigate-on-success async-action-state url)
(navigate-on-success effs async-action-state url)

reaction helper - navigate only on success

reaction helper - navigate only on success
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close