This is a reducer module that helps handle superset information in the redux store.

Usage no npm install needed!

<script type="module">
  import onaioSupersetReducer from 'https://cdn.skypack.dev/@onaio/superset-reducer';


superset reducer

This is a reducer module that helps handle superset information in the redux store

The store

the store, currently, looks like this

/** interface for Superset state */
interface SupersetState {
  authorized: boolean | null;

Action creators

The following action creators are provided:

  • authorizeSuperset: set authorized property of state object to a boolean value(true or false)
  • resetSuperset: reset the authorized property of the state object to null

Sample code to use these selectors

import { authorizeSuperset, resetSuperset } from '@onaio/superset-reducer';

/**  authorizeSuperset action creator expects the following argument
 * @param {boolean} authorizedOrNot - whether the superset is authorized or not
authorizeSuperset(authorizedOrNot);//example usage

/** resetSuperset takes no params */
resetSuperset()//example usage


The following selector is provided:

  • isAuthorized: check if superset is authorized

Sample code to use selectors

import { isAuthorized } from '@onaio/superset-reducer';

// we assume you have a state object defined somewhere
let state;

const authorized = isAuthorized(state);


Using this reducer is quite simple and can be done in one of two ways:

  1. Use combineReducers to ensure that the superset reducer is loaded into your Redux store


  1. Register the superset reducer so that it is added to your Redux store dynamically. You would do this in the case that you are using the Reducer Registry.

sample code to register the reducer

import supersetReducer, { reducerName as supersetReducerName } from '@onaio/superset-reducer';
import reducerRegistry from '@onaio/redux-reducer-registry';

// /** register the superset reducer */
reducerRegistry.register(supersetReducerName, supersetReducer);