sfus-lib-cli
v1.2.0
Published
> Use rabbitmq to sync your files
Downloads
4
Readme
socket-file-sync-lib-cli
Use rabbitmq to sync your files
![David](https://img.shields.io/david/dev/lholznagel/sfus-lib-cli.svg?style=flat-square&label=Dev Dependencies)
Api
UploadManager
This class is used for uploading files.
Example usage:
import { UploadManager } from 'sfus-lib-cli';
const upload: UploadManager = new UploadManager();
upload.addFile('myfile.exmaple');
upload.start().then((result: boolean) => {
// returned when all files are uploaded
});
Methods:
addFile(file: string)
const upload: UploadManager = new UploadManager();
upload.addFile('myfile.exmaple');
Adds a single file to the list of files that should be uploaded.
addFiles(file: string[])
const upload: UploadManager = new UploadManager();
upload.addFiles(['myfile.example', 'mySecondFile.example']);
Adds all files from the array to the list of files that should be uploaded.
addFolder(file: string)
const upload: UploadManager = new UploadManager();
upload.addFolder('myFolder');
Adds all files from the folder. The files are added recursive.
addFolders(file: string[])
const upload: UploadManager = new UploadManager();
upload.addFolders(['myfolder', 'mySecondFolder']);
Adds all files from the folders. All files in the folders are added recursive.
getFiles()
const upload: UploadManager = new UploadManager();
const files: String[] = upload.getFiles();
Gets a array containing all added files
Events
Name | Description | Payload
--------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------
file
| Emitted when a new file is added to the backlog of files | Path of the file
in_progress
| Emitted when a file moved from backlog to the actual uploading queue | File information object, example comes after this table
finished
| Emitted when all files from the backlog are uploaded | None
file_finished
| Emitted when a file is finished uploading | File information object, example comes after this table
chunk
| Emitted when a chunk of a file was transmitted | File information object, example comes after this table
{
"chunk": "current chunk",
"chunkCount": "pre calculated count of chunks",
"fileId": "id of the file, given by the database",
"path": "path of the file",
"uploadSize": "base64 size of the file",
"status": "finished | preparing | resending | uploading",
"originalSize": "original file size"
}
Example
import { UploadManager } from 'sfus-lib-cli';
const upload: UploadManager = new UploadManager();
upload.on('file', (file: string) => {
// name and path of the added file
});
upload.on('in_progress', (file: FileInformation) => {
// file is uploaded to server
});
upload.on('finished', () => {
// everything is finished and nothing todo
});
upload.on('file_finished', (file: FileInformation) => {
// a file is finished with uploading
});
upload.on('chunk', (file: FileInformation) => {
// chunk of a file is successful uploaded
});
upload.addFile('myfile.exmaple');
upload.start().then((result: boolean) => {
// returned when all files are uploaded
});
Tests
To run the tests simply run npm install
and then npm test
.