| '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)]; |
| }; |