Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 30 additions & 29 deletions lib/node_modules/@stdlib/_tools/github/fetch-file/lib/factory.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@

// MODULES //

var isFunction = require( '@stdlib/assert/is-function' );
var isString = require( '@stdlib/assert/is-string' ).isPrimitive;
var isStringArray = require( '@stdlib/assert/is-string-array' ).primitives;
var copy = require( '@stdlib/utils/copy' );
var format = require( '@stdlib/string/format' );
var defaults = require( './defaults.json' );
var resolve = require( './resolve.js' );
var isFunction = require('@stdlib/assert/is-function');
var isString = require('@stdlib/assert/is-string').isPrimitive;
var isStringArray = require('@stdlib/assert/is-string-array').primitives;
var copy = require('@stdlib/utils/copy');
var format = require('@stdlib/string/format');
var defaults = require('./defaults.json');
var resolve = require('./resolve.js');


// MAIN //
Expand All @@ -42,18 +42,18 @@ var resolve = require( './resolve.js' );
* @throws {TypeError} callback argument must be a function
* @returns {Function} function for fetching a file from one or more repositories
*/
function factory( filepath, repos, clbk ) {
function factory(filepath, repos, clbk) {
var opts;
if ( !isString( filepath ) ) {
throw new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', filepath ) );
if (!isString(filepath)) {
throw new TypeError(format('invalid argument. First argument must be a string. Value: `%s`.', filepath));
}
if ( !isStringArray( repos ) ) {
throw new TypeError( format( 'invalid argument. Second argument must be an array of strings. Value: `%s`.', repos ) );
if (!isStringArray(repos)) {
throw new TypeError(format('invalid argument. Second argument must be an array of strings. Value: `%s`.', repos));
}
if ( !isFunction( clbk ) ) {
throw new TypeError( format( 'invalid argument. Callback argument must be a function. Value: `%s`.', clbk ) );
if (!isFunction(clbk)) {
throw new TypeError(format('invalid argument. Callback argument must be a function. Value: `%s`.', clbk));
}
opts = copy( defaults );
opts = copy(defaults);
return fetchFile;

/**
Expand All @@ -63,21 +63,22 @@ function factory( filepath, repos, clbk ) {
* @returns {void}
*/
function fetchFile() {
resolve( filepath, repos, opts, done );
/**
* Callback invoked after query completion.
*
* @private
* @param {(Error|null)} error - error object
* @param {Object} results - query results
* @returns {void}
*/
function done( error, results ) {
if ( error ) {
return clbk( error );
}
clbk( null, results );
resolve(filepath, repos, opts, done);
}

/**
* Callback invoked after query completion.
*
* @private
* @param {(Error|null)} error - error object
* @param {Object} results - query results
* @returns {void}
*/
function done(error, results) {
if (error) {
return clbk(error);
}
clbk(null, results);
}
}

Expand Down