(batch-network network)
(batch-network network delay)
Wraps a network send calls with a debounce that will accumulate, merge and batch send requests in a time frame interval.
Wraps a network send calls with a debounce that will accumulate, merge and batch send requests in a time frame interval.
(batch-send f delay)
Setup a debounce to batch network requests. The callback function f will be called with a list of requests to be made after merging as max as possible.
Setup a debounce to batch network requests. The callback function f will be called with a list of requests to be made after merging as max as possible.
(debounce f interval)
Debounce calls, all the call inputs will be stored and the final call will receive a vector with every collected input during the debounce.
Debounce calls, all the call inputs will be stored and the final call will receive a vector with every collected input during the debounce.
(fn-network f)
(fn-network f serialize?)
Creates a simple Fulcro network out a function, the function will reeive the params: [network edn ok-callback error-callback]
Creates a simple Fulcro network out a function, the function will reeive the params: [network edn ok-callback error-callback]
(group-mergeable-requests requests)
Given a list of requests [query ok-callback error-callback], reduces the number of requests to the minimum by merging the requests. Not all requests are mergeable, so this still might output multiple requests.
Given a list of requests [query ok-callback error-callback], reduces the number of requests to the minimum by merging the requests. Not all requests are mergeable, so this still might output multiple requests.
(pathom-remote parser)
Create a Fulcro remote that will use a Pathom async parser to process the query.
Create a Fulcro remote that will use a Pathom async parser to process the query.
(profile-remote network)
Wrap a Remote so it always ask for the pathom profile.
Wrap a Remote so it always ask for the pathom profile.
(transform-remote remote options)
Given a network, provides some hooks to modify the network behavior.
::transform-query [env edn] -> edn Receives the EDN query so you can modify before it's transmited. If you return nil the send will be cancelled, and the network ok handler will be triggered with nil.
::transform-response [env response] -> response ::transform-error [env error] -> error ::transform-progress [env progress] -> progress (for FulcroRemoteI only)
::transform-transmission [env transmit] Transmit is a function with zero arguments, this can be used to wrap some operation around the data transmission entirely, but you can't affect the parameters from here.
env is a map with the keys ::request-id
and ::app
::request-id
is a uuid generated on the request, it will
be the same during all transform hooks, you can use this to correlate the hook steps.
The ::app
is an atom with the app, to have this you must initialize it during the Fulcro :started-callback using
the following code:
(fn [app] (pathom.network/transform-remote-init remote app))
This helper is compatible with both fulcro network work interfaces FulcroNetwork and FulcroRemoteI.
Given a network, provides some hooks to modify the network behavior. ::transform-query [env edn] -> edn Receives the EDN query so you can modify before it's transmited. If you return nil the send will be cancelled, and the network ok handler will be triggered with nil. ::transform-response [env response] -> response ::transform-error [env error] -> error ::transform-progress [env progress] -> progress (for FulcroRemoteI only) ::transform-transmission [env transmit] Transmit is a function with zero arguments, this can be used to wrap some operation around the data transmission entirely, but you can't affect the parameters from here. env is a map with the keys `::request-id` and `::app` `::request-id` is a uuid generated on the request, it will be the same during all transform hooks, you can use this to correlate the hook steps. The `::app` is an atom with the app, to have this you must initialize it during the Fulcro :started-callback using the following code: (fn [app] (pathom.network/transform-remote-init remote app)) This helper is compatible with both fulcro network work interfaces FulcroNetwork and FulcroRemoteI.
(transform-remote-init network app)
Set the transform remote app reference, this is needed if your remote needs access to the app.
Set the transform remote app reference, this is needed if your remote needs access to the app.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close