| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | 
							- 'use strict';
 
- var isRelative = require('is-relative');
 
- var isWindows = require('is-windows');
 
- /**
 
-  * Expose `isAbsolute`
 
-  */
 
- module.exports = isAbsolute;
 
- /**
 
-  * Returns true if a file path is absolute.
 
-  *
 
-  * @param  {String} `fp`
 
-  * @return {Boolean}
 
-  */
 
- function isAbsolute(fp) {
 
-   if (typeof fp !== 'string') {
 
-     throw new TypeError('isAbsolute expects a string.');
 
-   }
 
-   return isWindows() ? isAbsolute.win32(fp) : isAbsolute.posix(fp);
 
- }
 
- /**
 
-  * Test posix paths.
 
-  */
 
- isAbsolute.posix = function posixPath(fp) {
 
-   return fp.charAt(0) === '/';
 
- };
 
- /**
 
-  * Test windows paths.
 
-  */
 
- isAbsolute.win32 = function win32(fp) {
 
-   if (/[a-z]/i.test(fp.charAt(0)) && fp.charAt(1) === ':' && fp.charAt(2) === '\\') {
 
-     return true;
 
-   }
 
-   // Microsoft Azure absolute filepath
 
-   if (fp.slice(0, 2) === '\\\\') {
 
-     return true;
 
-   }
 
-   return !isRelative(fp);
 
- };
 
 
  |