UNPKG

travis-ci-access-token

Version:

Retrieve an access token to authenticate against Travis CI.

49 lines (40 loc) 1.5 kB
'use strict'; // MODULES // var isObject = require( 'validate.io-object' ); var isString = require( 'validate.io-string-primitive' ); // VALIDATE // /** * FUNCTION: validate( opts, options ) * Validates function options. * * @param {Object} opts - destination object * @param {Object} options - options to validate * @param {String} options.token - Github access token * @param {String} [options.hostname] - endpoint hostname * @param {String} [options.useragent] - user agent string * @returns {Error|Null} error or null */ function validate( opts, options ) { if ( !isObject( options ) ) { return new TypeError( 'invalid input argument. Options argument must be an object. Value: `' + options + '`.' ); } opts.token = options.token; if ( !isString( opts.token ) ) { return new TypeError( 'invalid option. `token` option must be a string primitive. Option: `' + opts.token + '`.' ); } if ( options.hasOwnProperty( 'hostname' ) ) { opts.hostname = options.hostname; if ( !isString( opts.hostname ) ) { return new TypeError( 'invalid option. `hostname` option must be a string primitive. Option: `' + opts.hostname + '`.' ); } } if ( options.hasOwnProperty( 'useragent' ) ) { opts.useragent = options.useragent; if ( !isString( opts.useragent ) ) { return new TypeError( 'invalid option. `useragent` option must be a string primitive. Option: `' + opts.useragent + '`.' ); } } return null; } // end FUNCTION validate() // EXPORTS // module.exports = validate;