initial commit
This commit is contained in:
@ -0,0 +1,85 @@
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
import { ACTION_TYPES as types } from './action-types';
|
||||
|
||||
let Headers = window.Headers || null;
|
||||
Headers = Headers
|
||||
? new Headers()
|
||||
: { get: () => undefined, has: () => undefined };
|
||||
|
||||
/**
|
||||
* Returns an action object used in updating the store with the provided items
|
||||
* retrieved from a request using the given querystring.
|
||||
*
|
||||
* This is a generic response action.
|
||||
*
|
||||
* @param {string} namespace The namespace for the collection route.
|
||||
* @param {string} resourceName The resource name for the collection route.
|
||||
* @param {string} [queryString=''] The query string for the collection
|
||||
* @param {Array} [ids=[]] An array of ids (in correct order) for the
|
||||
* model.
|
||||
* @param {Object} [response={}] An object containing the response from the
|
||||
* collection request.
|
||||
* @param {Array<*>} response.items An array of items for the given collection.
|
||||
* @param {Headers} response.headers A Headers object from the response
|
||||
* link https://developer.mozilla.org/en-US/docs/Web/API/Headers
|
||||
* @param {boolean} [replace=false] If true, signals to replace the current
|
||||
* items in the state with the provided
|
||||
* items.
|
||||
* @return {
|
||||
* {
|
||||
* type: string,
|
||||
* namespace: string,
|
||||
* resourceName: string,
|
||||
* queryString: string,
|
||||
* ids: Array<*>,
|
||||
* items: Array<*>,
|
||||
* }
|
||||
* } Object for action.
|
||||
*/
|
||||
export function receiveCollection(
|
||||
namespace,
|
||||
resourceName,
|
||||
queryString = '',
|
||||
ids = [],
|
||||
response = { items: [], headers: Headers },
|
||||
replace = false
|
||||
) {
|
||||
return {
|
||||
type: replace ? types.RESET_COLLECTION : types.RECEIVE_COLLECTION,
|
||||
namespace,
|
||||
resourceName,
|
||||
queryString,
|
||||
ids,
|
||||
response,
|
||||
};
|
||||
}
|
||||
|
||||
export function receiveCollectionError(
|
||||
namespace,
|
||||
resourceName,
|
||||
queryString,
|
||||
ids,
|
||||
error
|
||||
) {
|
||||
return {
|
||||
type: 'ERROR',
|
||||
namespace,
|
||||
resourceName,
|
||||
queryString,
|
||||
ids,
|
||||
response: {
|
||||
items: [],
|
||||
headers: Headers,
|
||||
error,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export function receiveLastModified( timestamp ) {
|
||||
return {
|
||||
type: types.RECEIVE_LAST_MODIFIED,
|
||||
timestamp,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user