@carloseduardobatista/pegasus-report-stream
v0.0.4
Published
A client-side high-performance report generator that utilizes data streaming
Downloads
3
Maintainers
Readme
Pegasus Report Stream
Pegasus Report Stream is an application that generates reports based on data obtained via stream using the Fetch API with Transfer-Encoding chunked. The application utilizes the FileSystemFileHandle feature to save the generated files in CSV format, offering more flexibility in writing the data. However, it's important to note that the use of this feature may be subject to browser compatibility, as not all browsers support FileSystemFileHandle.
Installation
To install the Pegasus Report Stream library, simply run the following command:
NPM
npm install @carloseduardobatista/pegasus-report-stream
Yarn
yarn add @carloseduardobatista/pegasus-report-stream
Import the Library
To import the Pegasus Report Stream library, simply run the following command:
import { Pegasus } from '@carloseduardobatista/pegasus-report-stream';
Implementation Example
Here's an example of how to use the getReport()
function to generate a report:
async function getReport() {
const eventStatus = await fetch('http://localhost:3050')
.then(async (response) => {
const reader = response?.body?.getReader();
const statusEvent = await Pegasus.splitData({
name: 'report',
stream: reader,
filters: filters,
refColumns: refColumns,
type: 'CSV',
closeByRegisterLimit: 1000000,
cut: 100000,
qttFilePicker: 1,
delimiter: '\n'
});
return statusEvent;
})
.catch((error) => {
console.error('Request error:', error);
});
eventStatus?.addEventListener('progress', (data: { progress: number }) => {
console.log('Progress:', data);
});
eventStatus?.addEventListener('error', (data: Error) => {
console.log('Error:', data);
});
}
System Requirements
Before using the Pegasus Report Stream application, please make sure your system meets the following requirements:
- Browser compatible with the FileSystemFileHandle feature.
Contribution
We value and encourage community contribution to the Pegasus Report Stream project. If you wish to contribute, please follow the steps below:
- Fork the repository.
- Create a branch for your contribution:
git checkout -b feature/new-feature
orgit checkout -b bug/fix
. - Make necessary changes and commit accordingly.
- Push the branch to your fork:
git push origin feature/new-feature
orgit push origin bug/fix
. - Open a pull request in the original repository, explaining your contribution in detail.
- Wait for feedback from the project team.
License
The Pegasus Report Stream library is licensed under the MIT License with the following additional restriction, check in the LICENSE.md