This package has been deprecated

Author message:

THIS PACKAGE IS NO LONGER MAINTAINED

redux-apist

0.2.2 • Public • Published

redux-apist

Build Status Coverage Status Dependency Status

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

License

MIT © Timofey Dergachev

Package Sidebar

Install

npm i redux-apist

Weekly Downloads

0

Version

0.2.2

License

MIT

Unpacked Size

22.7 kB

Total Files

14

Last publish

Collaborators

  • exeto-archive