0.5.1 • Published 9 years ago

resource-op v0.5.1

Weekly downloads
3
License
MIT
Repository
github
Last release
9 years ago

resource-op

resource-op is designed to handle ajax operations.

Install and prerequisite

Please polyfill fetch api. resource-op use fetch api to launch ajax. whatwg-fetch is recommended.

installed with npm

npm install --save resource-op

Api

import ResourceOp from 'resource-op';
const resource = ResourceOp.create('/resource', {
  headers: {
    'Content-Type': 'application/json',
    'Authorization': THIS_IS_A_SECRET_TOKEN,
  },
});

// GET /resource?hello=world&tags=1&tags=2&tags=3
resource.get({hello: 'world', tags: [1, 2, 3]});
// POST {hello: 'world'} -> /resource
resource.post({hello: 'world'});
// PUT {hello: 'world'} -> /resource
resource.put({hello: 'world'});
// DELETE /resource
resource.delete();

ResourceOp.create(url: string|function[, fetchOpts: object[, opts: object]])

This is a static method that returns an instance of ResourceOp.

  • url: Resource address, a function returning a string is also acceptable.
  • fetchOpts: It is same as the second param of fetch. See how to use fetch on MDN. Default value is {}.
  • opts: If empty attribute is true, factory will return an instance without any restful methods. Default value is {}.

resourceOp.addMethod(name: string, METHOD: string[, transform: string | function])

Add a custom method to the instance.

  • name: Method name appended on the instance
  • METHOD: A valid restful method, e.g. POST, PUT and etc
  • transform: A function that transforms the resource url to a new url. A url string is also accessible.
import ResourceOp from 'resource-op';
const resource= ResourceOp.create('/resource');
resource.addMethod('sort', 'POST', url => `${url}/_sort`);
// POST {a: 1} -> /resource/_sort
resource.sort({a: 1});

resourceOp.extends(url: string[, fetchOpts: object[, opts: object]])

Extend an exsited instance and return a new instance. The arguments are the same as ResourceOp.create.

import ResourceOp from 'resource-op';
const resource= ResourceOp.create('/resource');
const child = resource.extends('/some');
// GET -> /resource/some
resource.get();
0.5.1

9 years ago

0.5.0

9 years ago

0.4.1

9 years ago

0.4.0

9 years ago

0.3.2

10 years ago

0.3.1

10 years ago

0.3.0

10 years ago

0.2.3

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.0

10 years ago