code: function createRequestAction( options, action ) {
  	const {
  		fetch = noop,
  		onSuccess = noop,
  		onError = noop,
  		onProgress = noop,
  		fromApi = identity,
  	} = options;
  
  	const error = getError( action );
  	if ( error ) {
  		return onError( action, error );
  	}
  
  	const data = getData( action );
  	if ( data ) {
  		try {
  			return onSuccess( action, fromApi( data ) );
  		} catch ( err ) {
  			return onError( action, err );
  		}
  	}
  
  	const progress = getProgress( action );
  	if ( progress ) {
  		return onProgress( action, progress );
  	}
  
  	return fetch( action );
  }
docs: /*
  Converts an application-level Calypso action that's handled by the data-layer middleware
  into a low-level action. For example, HTTP request that's being initiated, or a response
  action with a `meta.dataLayer` property.