49 lines
		
	
	
		
			888 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
		
			888 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | 'use strict'; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Module dependencies | ||
|  |  */ | ||
|  | 
 | ||
|  | exports.extend = require('extend-shallow'); | ||
|  | exports.SourceMap = require('source-map'); | ||
|  | exports.sourceMapResolve = require('source-map-resolve'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Convert backslash in the given string to forward slashes | ||
|  |  */ | ||
|  | 
 | ||
|  | exports.unixify = function(fp) { | ||
|  |   return fp.split(/\\+/).join('/'); | ||
|  | }; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Return true if `val` is a non-empty string | ||
|  |  * | ||
|  |  * @param {String} `str` | ||
|  |  * @return {Boolean} | ||
|  |  */ | ||
|  | 
 | ||
|  | exports.isString = function(str) { | ||
|  |   return str && typeof str === 'string'; | ||
|  | }; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Cast `val` to an array | ||
|  |  * @return {Array} | ||
|  |  */ | ||
|  | 
 | ||
|  | exports.arrayify = function(val) { | ||
|  |   if (typeof val === 'string') return [val]; | ||
|  |   return val ? (Array.isArray(val) ? val : [val]) : []; | ||
|  | }; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Get the last `n` element from the given `array` | ||
|  |  * @param {Array} `array` | ||
|  |  * @return {*} | ||
|  |  */ | ||
|  | 
 | ||
|  | exports.last = function(arr, n) { | ||
|  |   return arr[arr.length - (n || 1)]; | ||
|  | }; |