Novelty Palliates Malaise
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

itembase-document-stream

1.1.3 • Public • Published

itembase-document-stream Build Status

Stream itembase documents. Handles pagination and refreshing the access token if necessary.

npm install itembase-document-stream

Usage

As a minimum the constructor requires the resource URL and a valid access token.

var itembase = require('itembase-document-stream');
var JSONStream = require('JSONStream');
 
itembase('/v1/users/:user_id/transactions', 'access_token')
    .pipe(JSONStream.stringify())
    .pipe(process.stdout);

It's also possible to pass more complex options.

var tokens = {
    access_token: 'access_token',
    refresh_token: 'refresh_token'
};
 
var options = {
    client: { id: 'client_id', secret: 'client_secret' },
    urls: { api: 'http://sandbox.api.itembase.io', accounts: 'http://sandbox.accounts.itembase.io' },
    query: { document_limit: 10 }
};
 
var stream = itembase('/v1/users/:user_id/transactions', tokens, options);
 
stream.on('tokens', function(tokens) {
    // Tokens have been refreshed
    console.log(tokens);
});
 
stream.on('data', function(data) {
    console.log(data);
});

The client option, together with the refresh_token, is necessary to be able to refresh the access token if it expires. Otherwise an error event is emitted.

It's also possible to override the base URLs in the options map, and pass additional query parameters to the API request.

Additionally a start event is emitted when the first request is performed. It contains, among other things, total number of documents to expect.

License

MIT

Keywords

none

install

npm i itembase-document-stream

Downloadsweekly downloads

19

version

1.1.3

license

MIT

repository

githubgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar