Name Description Size Coverage
debounce.js Redux middleware for debouncing actions. Schedules actions with { meta: { debounce: true } } to be delayed by wait milliseconds. If another action is fired during this time-frame both actions are inserted into a queue and delayed. Maximum delay is defined by maxWait argument. Handling more actions at once results in better performance since components need to be re-rendered less often. @param string wait Wait for specified amount of milliseconds before executing an action. The time is used to collect more actions and handle them all at once. @param string maxWait Max waiting time. It's used in case of a long stream of actions. 2470 -
ignore.js A middleware that prevents any action of being called once it is activated. This is useful to apply while destroying a given panel, as it will ignore all calls to actions, where we usually make our client -> server communications. This middleware should be declared before any other middleware to to effectively ignore every actions. 1328 -
log.js A middleware that logs all actions coming through the system to the console. 977 -
moz.build 520 -
performance-marker.js This function returns a middleware, which is responsible for adding markers that will be visible in performance profiles, and may help investigate performance issues. Example usage, adding a marker when console messages are added, and when they are cleared: return createPerformanceMarkerMiddleware({ "MESSAGES_ADD": { label: "WebconsoleAddMessages", sessionId: 12345, getMarkerDescription: function({ action, state }) { const { messages } = action; const totalMessageCount = state.messages.mutableMessagesById.size; return `${messages.length} messages handled, store now has ${totalMessageCount} messages`; }, }, "MESSAGES_CLEARED": { label: "WebconsoleClearMessages", sessionId: 12345 }, }); @param {object} cases: An object, keyed by action type, that will determine if a given action will add a marker. @param {string} cases.{actionType} - The type of the action that will trigger the marker creation. @param {string} cases.{actionType}.label - The marker label @param {Integer} cases.{actionType}.sessionId - The telemetry sessionId. This is used to be able to distinguish markers coming from different toolboxes. @param {Function} [cases.{actionType}.getMarkerDescription] - An optional function that will be called when adding the marker to populate its description. The function is called with an object holding the action and the state 2587 -
promise.js 2010 -
task.js A middleware that allows async thunks (async functions) to be dispatched. The middleware is called "task" for historical reasons. TODO: rename? 1025 -
test -
thunk.js A middleware that allows thunks (functions) to be dispatched If it's a thunk, it is called with an argument that will be an object containing `dispatch` and `getState` properties, plus any additional properties defined in the `options` parameters. This allows the action to create multiple actions (most likely asynchronously). 835 -
wait-service.js A middleware which acts like a service, because it is stateful and "long-running" in the background. It provides the ability for actions to install a function to be run once when a specific condition is met by an action coming through the system. Think of it as a thunk that blocks until the condition is met. Example: ```js const services = { WAIT_UNTIL: require('wait-service').NAME }; { type: services.WAIT_UNTIL, predicate: action => action.type === constants.ADD_ITEM, run: (dispatch, getState, action) => { // Do anything here. You only need to accept the arguments // if you need them. `action` is the action that satisfied // the predicate. } } ``` 2024 -