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