0.2.2 • Published 5 years ago
redux-apist v0.2.2
redux-apist
Creator API actions for redux-thunk
THIS PACKAGE IS NO LONGER MAINTAINED
Install
$ npm install --save redux-apist
Usage
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import Apist, { bindActionCreators } from 'redux-apist';
import reducer from './reducers';
const store = createStore(reducer, applyMiddleware(thunk));
const user = new Apist('users');
store.dispatch(user.fetch(10));
//=> GET /users/10
// Bind actions
const actions = bindActionCreators(user, store.dispatch);
actions.fetchAll();
//=> GET /users
Within the used fetch
. You can add polyfill to your project.
Configure to work with your API, by overriding methods.
class CustomApist extends Apist {
constructor(resource) {
super(resource);
// Used only when sending data.
// By default `application/json`.
this.contentType = 'application/json';
// Fetch options.
this.options = {};
this.headers = {};
this.host = 'http://example.com';
this.namespace = 'api/v2';
}
handleError(err) {}
// Serialization of sent data.
serialize(data) {}
// Deserializing the received data.
deserialize(req, res) {}
}
API
ReduxApist(resource)
resource
Type: string
The name of the API resource.
Instance
All CRUD methods return redux-thunk action.
.fetchAll(query)
GET
/resource?query
RESOURCE_FETCH_ALL_REQUEST
RESOURCE_FETCH_ALL_SUCCESS
RESOURCE_FETCH_ALL_FAILURE
query
Type: object
.fetch(id, query)
GET
/resource/:id?query
RESOURCE_FETCH_REQUEST
RESOURCE_FETCH_SUCCESS
RESOURCE_FETCH_FAILURE
id
Type: number|string
query
Type: object
.create(data)
POST
/resource
RESOURCE_CREATE_REQUEST
RESOURCE_CREATE_SUCCESS
RESOURCE_CREATE_FAILURE
data
Type: any
.update(id, data)
PUT
/resource/:id
RESOURCE_UPDATE_REQUEST
RESOURCE_UPDATE_SUCCESS
RESOURCE_UPDATE_FAILURE
id
Type: number|string
data
Type: any
.delete(id)
DELETE
/resource/:id
RESOURCE_DELETE_REQUEST
RESOURCE_DELETE_SUCCESS
RESOURCE_DELETE_FAILURE
id
Type: any
.actions
The creators of the FSA.
fetchAllRequest
fetchAllSuccess
fetchAllFailure
fetchRequest
fetchSuccess
fetchFailure
createRequest
createSuccess
createFailure
updateRequest
updateSuccess
updateFailure
deleteRequest
deleteSuccess
deleteFailure
.types
{
fetchAllRequest: 'RESOURCE_FETCH_ALL_REQUEST',
fetchAllSuccess: 'RESOURCE_FETCH_ALL_SUCCESS',
fetchAllFailure: 'RESOURCE_FETCH_ALL_FAILURE',
fetchRequest: 'RESOURCE_FETCH_REQUEST',
fetchSuccess: 'RESOURCE_FETCH_SUCCESS',
fetchFailure: 'RESOURCE_FETCH_FAILURE',
createRequest: 'RESOURCE_CREATE_REQUEST',
createSuccess: 'RESOURCE_CREATE_SUCCESS',
createFailure: 'RESOURCE_CREATE_FAILURE',
updateRequest: 'RESOURCE_UPDATE_REQUEST',
updateSuccess: 'RESOURCE_UPDATE_SUCCESS',
updateFailure: 'RESOURCE_UPDATE_FAILURE',
deleteRequest: 'RESOURCE_DELETE_REQUEST',
deleteSuccess: 'RESOURCE_DELETE_SUCCESS',
deleteFailure: 'RESOURCE_DELETE_FAILURE',
}
bindActionCreators(apistInstance, dispatch)
Turns an object whose values are action creators, but with every action creator wrapped into a dispatch call so they may be invoked directly.
Related
- apist - Simple REST API client