npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cloudup-client

v0.3.2

Published

cloudup api client

Downloads

19

Readme

Cloudup

Cloudup API client for nodejs.

Installation

$ npm install --save cloudup-client

Links

Example

var Cloudup = require('cloudup-client');

var client = Cloudup({
  url: 'http://localhost:3000',
  user: 'ewald',
  pass: 'Dev1'
});

client
.stream({ title: 'Cloudup API' })
.file('Makefile')
.file('package.json')
.file('lib/client.js')
.file('lib/collection.js')
.file('lib/error.js')
.file('lib/item.js')
.save(function(){
  console.log('upload complete');
});

API

Cloudup()

Initialize a new client with the given options:

  • user basic auth username
  • pass basic auth password
  • token auth token
  • useragent user-agent name

Cloudup.requestToken(appId:String, fn:Function)

Request an auth token with the appId provided by Cloudup upon app registration. This prevents the need to store a user's username and password.

var client = new Cloudup({
  user: 'tobi',
  pass: 'Dev1'
});

client.requestToken('ah5Oa7F3hT8', function(err, tok){
  if (err) throw err;

  var client = new Cloudup({ token: tok });

  client.streams(function(err, streams){
    if (err) throw err;
    console.log('streams:');
    streams.forEach(function(stream){
      console.log('  - %s', stream.title);
    });
  });
});

Cloudup.user(fn:Function)

Get authenticated user information:

client.user(function(err, user){
  console.log(user);
});

Cloudup.stream(options:Object|String)

Create a new stream.

var stream = client.stream({ title: 'Photos' });

Or load an existing stream with its .id:

var stream = client.stream('cyswccQQZkw');
stream.load(function(){
  console.log(stream);
});

Cloudup.streams(fn:Function)

Get an array of streams.

Cloudup.streams(options, fn:Function)

Get an array of streams with the given options:

  • title filter by title

Stream(id:String|options:Object)

Initialize a new Stream with the given options:

  • title optional Stream title string
 client
 .stream({ title: 'Animals' })
 .file('path/to/maru-1.jpg')
 .file('path/to/maru-2.jpg')
 .link('http://farm5.static.flickr.com/4131/5001570832_c1341f609f.jpg')
 .save(function(err){

 })

Alternatively pass the stream's id and invoke .load().

Events:

  • item (item) when an item is added
  • save Stream saved
  • end item uploads complete

Stream.isNew()

Check if the stream is new.

Stream.set(prop:String|Object, val:String|Function, [fn]:Function)

Set prop's val with optional callback fn.

Stream.item([options:Object|String)

Create a new item in this stream.

var item = stream.item({ title: 'Maru the cat' })

Or load an existing item with its .id:

var item = stream.item('iyswccQQZkw');
item.load(function(){
  console.log(item);
});

Stream.file(file:String, [options:Object])

Upload file as an item.

client
.stream({ title: 'Images' })
.file('maru 1.png', { filename: 'Maru.png', })
.file('maru 2.png', { title: 'Awesome Maru' })
.file('maru 3.png')

Stream.link(url:String, [options:Object])

Upload url as an item.

client
.stream({ title: 'Bookmarks' })
.link('http://ign.com', { title: 'IGN' })
.link('http://cuteoverload.com')
.link('http://uglyoverload.com')

Stream.toJSON()

Return JSON representation.

Stream.concurrency(n:Number)

Upload concurrency.

Stream.remove([fn]:Function)

Remove and invoke fn(err).

Stream.load(fn:Function)

Load the stream and invoke fn(err, stream).

Stream.save([fn]:Function)

Save and invoke fn(err)

Emits "error" events with (err, item) if an item fails to properly save. The callback of this method is only invoked with an error related to creating the stream itself.

Item(id:String|options:Object)

Initialize a new Item with the given options:

  • title optional Item title string
  • filename optional filename for .file()

Alternatively pass the item's id and invoke .load().

Item.isNew()

Check if the stream is new.

Item.toJSON()

Return JSON representation.

Item.file(file:String)

Queue file for uploading.

 var stream = client.stream({ title: 'Animals' })
 var item = stream.item({ title: 'Simon' })
 item.file('path/to/simon.jpg')

Item.link(url:String)

Queue url for uploading.

 var stream = client.stream({ title: 'Bookmarks' })
 var item = stream.item({ title: 'Ign' })
 item.file('http://ign.com')

Item.remove([fn]:Function)

Remove and invoke fn(err).

Item.set(prop:String|Object, val:String|Function, [fn]:Function)

Set prop's val with optional callback fn.

Item.thumb(path:String, fn:Function)

Queue thumbnail path for the next .save(), or upload immediately and invoke fn(err). When a callback fn is given the item MUST have already been saved.

Item.save(fn:Function)

Create the remote item and upload the associated content, invoking fn(err).

Item.thumbSize(size)

Select a thumb by the given size string:

var thumb = item.thumbSize('1200x1200');
console.log(thumb.url);

User

Initialize a user.

User.avatarSize(size)

Select an avatar by the given size string:

client.user(function(err, user){
  var img = user.avatarSize('300x300').url;
});