fetch-files 
Download files using presets.
Install
Install with npm
$ npm i fetch-files --save
Usage
var FetchFiles = require('fetch-files');
var downloader = new FetchFiles({destBase: 'foo/bar'});
API
FetchFiles
Create an instance of FetchFiles with the given options.
Params
options{Object}
.preset
Store a preset with the given configuration values.
Params
name{String}: Preset name, e.g.githubconfig{Object}returns{Object}: ReturnsFetchFilesfor chaining
Example
downloader.preset('github', {
url: 'https://raw.githubusercontent.com',
fn: function (preset, config) {
config.pathname = config.url.split('/').slice(-3).join('_');
return preset.url;
}
});
.queue
Add a URL to the download queue.
Params
url{String}config{Object}: The configuration to use for the URL.returns{Object}: ReturnsFetchFilesfor chaining
Example
downloader.queue('/assemble/assemble/v0.6.0/.verb.md', {preset: 'github'});
.fetch
Fetch all files in the queue.
Params
cb{Function}: callbackreturns{Object}: ReturnsFetchFilesfor chaining
Example
downloader.fetch(function (err, res) {
console.log(res);
});
Complete example
Fetch three files from three different GitHub repos:
var FetchFiles = require('fetch-files');
var downloader = new FetchFiles({destBase: 'foo/bar'});
downloader.preset('github', {
url: 'https://raw.githubusercontent.com',
fn: function (preset, config) {
config.pathname = config.url.split('/').slice(-3).join('_');
return preset.url;
}
})
.queue('/assemble/assemble/v0.6.0/.verb.md', {preset: 'github'})
.queue('/jonschlinkert/template/master/.verb.md', {preset: 'github'})
.queue('/verbose/verb/master/.verb.md', {preset: 'github'})
.fetch(function (err, res) {
if (err) console.error(err);
console.log(res)
})
Related projects
- github-base: Base methods for creating node.js apps that work with the GitHub API.
- gists: Methods for working with the GitHub Gist API. Node.js/JavaScript
Running tests
Install dev dependencies:
$ npm i -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Author
Jon Schlinkert
License
Copyright 2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb-cli on August 19, 2015.