Bivrost save blob adapter
Bivrost adapter. Allows to save api resposne as blob.
yarn add bivrost-save-blob-adapter
Usage
With Bivrost:
import DataSource from 'bivrost/data/source';
import bivrostApi from 'bivrost/http/api';
import axiosAdapter from 'bivrost-axios-adapter';
import saveBlobAdapter from 'bivrost-save-blob-adapter';
const api = bivrostApi({
host: 'localhost',
adapter: saveBlobAdapter(axiosAdapter()),
});
class UsersDataSource extends DataSource {
steps = ['api'];
api = {
loadAll: api('GET /users'),
};
saveUsersJSON(filters) {
return this.invoke('loadAll', filters).then(download => {
download((url, params, response) => `users-${response.length}.json`);
});
}
}
const usersDataSource = new UsersDataSource();
usersDataSource.saveUsersJSON().then(() => {
console.log('file saved');
});
Direct calls:
import axios from 'axios';
import axiosAdapter from 'bivrost-axios-adapter';
import saveBlobAdapter from 'bivrost-save-blob-adapter';
const axiosAdapter = axiosAdapter(axios);
const saveBlob = saveBlobAdapter(axiosAdapter);
const requestOptions = {
method: 'GET',
};
saveBlob('/report/exel', requestOptions).then(download => {
download(() => 'exel.xls');
});
Bivrost allows to organize a simple
interface to asyncronous APIs.
Other adapters