1.2.0 • Published 8 years ago

sfus-lib-cli v1.2.0

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

socket-file-sync-lib-cli

Use rabbitmq to sync your files

Travis Codecov David(https://img.shields.io/david/dev/lholznagel/sfus-lib-cli.svg?style=flat-square&label=Dev Dependencies) license

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

NameDescriptionPayload
fileEmitted when a new file is added to the backlog of filesPath of the file
in_progressEmitted when a file moved from backlog to the actual uploading queueFile information object, example comes after this table
finishedEmitted when all files from the backlog are uploadedNone
file_finishedEmitted when a file is finished uploadingFile information object, example comes after this table
chunkEmitted when a chunk of a file was transmittedFile 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