0.0.3 • Published 6 years ago

cloud-herder v0.0.3

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

cloud-herder :ox: :dromedary_camel: :cow2: :water_buffalo: :ram:

(STILL IN DEVELOPMENT)

An NPM module that abstracts away the complexities of cloud storage services (Object Storage (AWS s3) as well as File Storage(Dropbox)) to easily interact with multiple clouds through one api using a simple promise based, POISIX interface.

Amaze your friends and family as you perform operations on multiple cloud clients at once (in parallel) without having to dig up documentation , build custom wrappers, or spend time thinking about blobs and keys.

(If by chance there are any stream experts out there, message me. Would love some insight!)

Currently supported clouds:

s3: in-progress

| Raskspace: planned | | Azure: planned | | Openstack: planned | | Dropbox: planned | | Onedrive: planned | | gDrive: planned |

Installation

npm install cloud-herder

Usage

//Example using Amazon s3 Api 

const CloudHerder = require('cloud-herder');

const source = CloudHerder.cloudFactory.issue('s3', credentials);


// List items from root context
source.ls('/')
    .then( files => {
        files.forEach(function (files) {
            console.log(files.toJSON());
        });
    })
    .catch( err => {
        console.log(err);
    });

// Fetch items from a root folder or container context
source.ls('/testingdirs/')
    .then( files => {
        files.forEach(function (file) {
            console.log(file.toJSON().name);
        });
    })
    .catch( err => {
        console.log(err);
    });

//Fetch items from a sub directory
source.ls('/testingdirs/Directory/')
    .then( files => {
         files.forEach(function (file) {
             console.log(file.toJSON().name);
         });
    })
    .catch( err => {
        console.log(err);
    });

//Fetch item from path
source.readFile('/testingdirs/Directory/2l0kmekrp1dy.jpg')
    .then( file => {
        console.log('File name: ' + file.name + '\n' + 'Last modified: ' + file.lastModified);
    });
    
//Make a directory or container in root context
source.mkdir('/showcasethisapiwhydontyou/')
    .then( data => {
        console.log(data);
    })
    .catch( err => {
        console.log(err);
    });

//Create a sub-directory tree from a supplied path context
source.mkdir('/showcasethisapiwhydontyou/showcase/this/api/making/things/')
    .then(data =>{
        console.log(data);
    })
    .catch(err =>{
        console.log(err);
    });

Tests

npm test

Contributing

Roadmap still being worked out. Hop onto this discord server if you want to reach me: https://discord.gg/PPpWSdb

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago

0.1.0

6 years ago