1.2.0 • Published 8 years ago
sfus-lib-cli v1.2.0
socket-file-sync-lib-cli
Use rabbitmq to sync your files
(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
.
1.2.0
8 years ago
1.2.0-beta.4
8 years ago
1.2.0-beta.3
8 years ago
1.2.0-beta.2
8 years ago
1.2.0-beta.1
8 years ago
1.1.0
8 years ago
1.1.0-beta.5
8 years ago
1.1.0-beta.4
8 years ago
1.1.0-beta.3
8 years ago
1.1.0-beta.2
8 years ago
1.1.0-beta.1
8 years ago
1.0.2
8 years ago
1.0.1
8 years ago
1.0.0
8 years ago