docs: function configureContext(libOpts) {
    if (isDev) validateLibOpts(libOpts);
    var libName = libOpts.libName;
    var validateContext = libOpts.validateContext;
    var configureAppContext = libOpts.configureAppContext;
    var configureInitialState = libOpts.configureInitialState;
  
    return function (appOpts) {
      if (isDev) validateAppOpts(appOpts);
      var appName = appOpts.appName;
      var level = appOpts.level;
  
  
      var translateBlueprintType = function translateBlueprintType(blueprintType) {
        return cleanActionName(libName) + '_' + cleanActionName(appName) + '_' + cleanActionName(blueprintType);
      };
      var translateBlueprintTypes = (0, _reduxBlueprint.translateBlueprintTypesWith)(translateBlueprintType);
      var translateBlueprints = (0, _reduxBlueprint.translateBlueprintsWith)(translateBlueprintType);
  
      var libContext = { log: (0, _log.createLogger)({ libName: libName, level: level }),
        libName: libName,
        appName: appName,
        translateBlueprintTypes: translateBlueprintTypes,
        translateBlueprints: translateBlueprints
      };
  
      var appContext = configureAppContext(libContext)(appOpts);
      if (isDev) validateContext(libContext, appContext);
  
      return Object.assign(appContext, libContext, { get initialState() {
          return configureInitialState(libContext)(appContext);
        }
      });
    };
  }