keechma.toolbox.pipeline.core

->CommitSideffect

(->CommitSideffect value cb)

->DoSideffect

(->DoSideffect sideffects)

->Error

(->Error type message payload cause)

->ExecuteSideffect

(->ExecuteSideffect command payload)

->RedirectSideffect

(->RedirectSideffect params)

->RunPipelineSideffect

(->RunPipelineSideffect pipeline-key args)

->SendCommandSideffect

(->SendCommandSideffect command payload)

call-sideffect

(call-sideffect sideffect ctrl app-db-atom)

commit!

(commit! value)(commit! value cb)

Commit pipeline sideffect.

Accepts value or value and callback as arguments. Value should be a new version of app-db.

(commit! (assoc-in app-db [:kv :user] {:username "retro"}))

If the callback argument is present, this function will be called immediately after the app-db-atom is updated. This is useful if you want to force Reagent to re-render the screen.

CommitSideffect

do!

(do! & sideffects)

Runs multiple sideffects sequentially:

(do!
  (commit! (assoc-in app-db [:kv :current-user] value))
  (redirect! {:page "user" :id (:id user)}))

DoSideffect

Error

execute!

(execute! command payload)

Execute pipeline sideffect.

Accepts command and payload arguments. Use this if you want to execute a command on the current controller.

ExecuteSideffect

ISideffect

protocol

members

call!

(call! this controller app-db-atom)

map->CommitSideffect

(map->CommitSideffect G__14094)

map->DoSideffect

(map->DoSideffect G__14130)

map->Error

(map->Error G__14085)

map->ExecuteSideffect

(map->ExecuteSideffect G__14112)

map->RedirectSideffect

(map->RedirectSideffect G__14121)

map->RunPipelineSideffect

(map->RunPipelineSideffect G__14143)

map->SendCommandSideffect

(map->SendCommandSideffect G__14103)

pipeline!

macro

(pipeline! args & body)

pipeline-errors

redirect!

(redirect! params)

Redirect pipeline sideffect.

Accepts params argument. Page will be redirected to a new URL which will be generated from the passed in params argument. If you need to access the current route data, it is present in the pipeline app-db argument under the [:route :data] path.

RedirectSideffect

run-pipeline!

(run-pipeline! pipeline-key)(run-pipeline! pipeline-key args)

Runs a pipeline in a way that blocks the current pipeline until the current pipeline is done. It behaves same as `execute! but blocks the parent pipeline until it’s done. Return value and errors will be ignored by the parent pipeline.

RunPipelineSideffect

send-command!

(send-command! command payload)

Send command pipeline sideffect.

Accepts command and payload arguments. Command should be a vector where first element is the controller topic, and the second element is the command name.

SendCommandSideffect