improve absolute path handling
This commit is contained in:
		
							
								
								
									
										10
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,8 +1,4 @@
 | 
			
		||||
node_modules/
 | 
			
		||||
.settings/
 | 
			
		||||
.idea/
 | 
			
		||||
docs/
 | 
			
		||||
ts/typings/
 | 
			
		||||
ts/**/*.js
 | 
			
		||||
ts/**/*.js.map
 | 
			
		||||
coverage/
 | 
			
		||||
coverage/
 | 
			
		||||
pages/
 | 
			
		||||
public/
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								dist/index.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								dist/index.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -1,7 +1,7 @@
 | 
			
		||||
import "typings-global";
 | 
			
		||||
import SmartpathCheck = require("./smartpath.check");
 | 
			
		||||
import SmartpathGet = require("./smartpath.get");
 | 
			
		||||
import SmartpathTransform = require("./smartpath.transform");
 | 
			
		||||
import 'typings-global';
 | 
			
		||||
import SmartpathCheck = require('./smartpath.check');
 | 
			
		||||
import SmartpathGet = require('./smartpath.get');
 | 
			
		||||
import SmartpathTransform = require('./smartpath.transform');
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @type {{getPath: (function(any): undefined)}}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							@@ -1,17 +1,17 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
require("typings-global");
 | 
			
		||||
var SmartpathCheck = require("./smartpath.check");
 | 
			
		||||
var SmartpathGet = require("./smartpath.get");
 | 
			
		||||
var SmartpathTransform = require("./smartpath.transform");
 | 
			
		||||
// import modules
 | 
			
		||||
const SmartpathCheck = require("./smartpath.check");
 | 
			
		||||
const SmartpathGet = require("./smartpath.get");
 | 
			
		||||
const SmartpathTransform = require("./smartpath.transform");
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @type {{getPath: (function(any): undefined)}}
 | 
			
		||||
 */
 | 
			
		||||
var smartpath = {
 | 
			
		||||
let smartpath = {
 | 
			
		||||
    check: SmartpathCheck,
 | 
			
		||||
    get: SmartpathGet,
 | 
			
		||||
    transform: SmartpathTransform
 | 
			
		||||
};
 | 
			
		||||
module.exports = smartpath;
 | 
			
		||||
 | 
			
		||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFFeEIsSUFBTyxjQUFjLFdBQVcsbUJBQW1CLENBQUMsQ0FBQztBQUNyRCxJQUFPLFlBQVksV0FBVyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ2pELElBQU8sa0JBQWtCLFdBQVcsdUJBQXVCLENBQUMsQ0FBQztBQUU3RDs7O0dBR0c7QUFDSCxJQUFJLFNBQVMsR0FBRztJQUNaLEtBQUssRUFBRSxjQUFjO0lBQ3JCLEdBQUcsRUFBRSxZQUFZO0lBQ2pCLFNBQVMsRUFBRSxrQkFBa0I7Q0FDaEMsQ0FBQztBQUdGLGlCQUFTLFNBQVMsQ0FBQyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0cGF0aC5wbHVnaW5zXCIpO1xuaW1wb3J0IFNtYXJ0cGF0aENoZWNrID0gcmVxdWlyZShcIi4vc21hcnRwYXRoLmNoZWNrXCIpO1xuaW1wb3J0IFNtYXJ0cGF0aEdldCA9IHJlcXVpcmUoXCIuL3NtYXJ0cGF0aC5nZXRcIik7XG5pbXBvcnQgU21hcnRwYXRoVHJhbnNmb3JtID0gcmVxdWlyZShcIi4vc21hcnRwYXRoLnRyYW5zZm9ybVwiKTtcblxuLyoqXG4gKlxuICogQHR5cGUge3tnZXRQYXRoOiAoZnVuY3Rpb24oYW55KTogdW5kZWZpbmVkKX19XG4gKi9cbmxldCBzbWFydHBhdGggPSB7XG4gICAgY2hlY2s6IFNtYXJ0cGF0aENoZWNrLFxuICAgIGdldDogU21hcnRwYXRoR2V0LFxuICAgIHRyYW5zZm9ybTogU21hcnRwYXRoVHJhbnNmb3JtXG59O1xuXG5cbmV4cG9ydCA9IHNtYXJ0cGF0aDtcbiJdfQ==
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEJBQXVCO0FBR3ZCLGlCQUFpQjtBQUNqQixvREFBb0Q7QUFDcEQsZ0RBQWdEO0FBQ2hELDREQUE0RDtBQUU1RDs7O0dBR0c7QUFDSCxJQUFJLFNBQVMsR0FBRztJQUNaLEtBQUssRUFBRSxjQUFjO0lBQ3JCLEdBQUcsRUFBRSxZQUFZO0lBQ2pCLFNBQVMsRUFBRSxrQkFBa0I7Q0FDaEMsQ0FBQTtBQUVELGlCQUFTLFNBQVMsQ0FBQSJ9
 | 
			
		||||
							
								
								
									
										2
									
								
								dist/smartpath.check.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/smartpath.check.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -1,3 +1,3 @@
 | 
			
		||||
import "typings-global";
 | 
			
		||||
import 'typings-global';
 | 
			
		||||
export declare let isDir: (pathArg: string) => boolean;
 | 
			
		||||
export declare let isFile: (pathArg: any) => boolean;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								dist/smartpath.check.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								dist/smartpath.check.js
									
									
									
									
										vendored
									
									
								
							@@ -6,5 +6,4 @@ exports.isDir = function (pathArg) {
 | 
			
		||||
exports.isFile = function (pathArg) {
 | 
			
		||||
    return /\.[a-zA-Z]*$/.test(pathArg); // checks if there is a .anything at the end
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0cGF0aC5jaGVjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBR2IsYUFBSyxHQUFHLFVBQVMsT0FBYztJQUN0QyxNQUFNLENBQUMsQ0FBQyxjQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFBO0FBRVUsY0FBTSxHQUFHLFVBQVMsT0FBTztJQUNoQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDRDQUE0QztBQUNyRixDQUFDLENBQUEiLCJmaWxlIjoic21hcnRwYXRoLmNoZWNrLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRwYXRoLnBsdWdpbnNcIik7XG5cbmV4cG9ydCBsZXQgaXNEaXIgPSBmdW5jdGlvbihwYXRoQXJnOnN0cmluZyl7XG4gICAgcmV0dXJuICFpc0ZpbGUocGF0aEFyZyk7XG59XG5cbmV4cG9ydCBsZXQgaXNGaWxlID0gZnVuY3Rpb24ocGF0aEFyZyl7XG4gICAgcmV0dXJuIC9cXC5bYS16QS1aXSokLy50ZXN0KHBhdGhBcmcpOyAvLyBjaGVja3MgaWYgdGhlcmUgaXMgYSAuYW55dGhpbmcgYXQgdGhlIGVuZFxufSJdfQ==
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRwYXRoLmNoZWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRwYXRoLmNoZWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwQkFBdUI7QUFHWixRQUFBLEtBQUssR0FBRyxVQUFTLE9BQWU7SUFDdkMsTUFBTSxDQUFDLENBQUMsY0FBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzNCLENBQUMsQ0FBQTtBQUVVLFFBQUEsTUFBTSxHQUFHLFVBQVMsT0FBTztJQUNoQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDLDRDQUE0QztBQUNwRixDQUFDLENBQUEifQ==
 | 
			
		||||
							
								
								
									
										7
									
								
								dist/smartpath.get.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								dist/smartpath.get.js
									
									
									
									
										vendored
									
									
								
							@@ -1,11 +1,11 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
require("typings-global");
 | 
			
		||||
var plugins = require("./smartpath.plugins");
 | 
			
		||||
const plugins = require("./smartpath.plugins");
 | 
			
		||||
/**
 | 
			
		||||
 * returns the type of the given path. Can be "url" or "local"
 | 
			
		||||
 */
 | 
			
		||||
exports.type = function (pathStringArg) {
 | 
			
		||||
    var urlRegex = /http[s|\s]:\/\/.*/i;
 | 
			
		||||
    let urlRegex = /http[s|\s]:\/\/.*/i;
 | 
			
		||||
    if (urlRegex.exec(pathStringArg)) {
 | 
			
		||||
        return "url";
 | 
			
		||||
    }
 | 
			
		||||
@@ -22,5 +22,4 @@ exports.home = function (pathArgument) {
 | 
			
		||||
        return plugins.home();
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0cGF0aC5nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFPLE9BQU8sV0FBVyxxQkFBcUIsQ0FBQyxDQUFDO0FBRWhEOztHQUVHO0FBQ1EsWUFBSSxHQUFHLFVBQVMsYUFBb0I7SUFDM0MsSUFBSSxRQUFRLEdBQUcsb0JBQW9CLENBQUE7SUFDbkMsRUFBRSxDQUFBLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBLENBQUM7UUFDN0IsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFBQSxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRVMsWUFBSSxHQUFHLFVBQVMsWUFBb0I7SUFDM0MsRUFBRSxDQUFBLENBQUMsWUFBWSxDQUFDLENBQUEsQ0FBQztRQUNiLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7QUFDTCxDQUFDLENBQUMiLCJmaWxlIjoic21hcnRwYXRoLmdldC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0cGF0aC5wbHVnaW5zXCIpO1xuXG4vKipcbiAqIHJldHVybnMgdGhlIHR5cGUgb2YgdGhlIGdpdmVuIHBhdGguIENhbiBiZSBcInVybFwiIG9yIFwibG9jYWxcIlxuICovXG5leHBvcnQgbGV0IHR5cGUgPSBmdW5jdGlvbihwYXRoU3RyaW5nQXJnOnN0cmluZyk6c3RyaW5nIHtcbiAgICBsZXQgdXJsUmVnZXggPSAvaHR0cFtzfFxcc106XFwvXFwvLiovaVxuICAgIGlmKHVybFJlZ2V4LmV4ZWMocGF0aFN0cmluZ0FyZykpe1xuICAgICAgICByZXR1cm4gXCJ1cmxcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gXCJsb2NhbFwiO1xuICAgIH07XG59O1xuXG5leHBvcnQgbGV0IGhvbWUgPSBmdW5jdGlvbihwYXRoQXJndW1lbnQ/OnN0cmluZyl7XG4gICAgaWYocGF0aEFyZ3VtZW50KXtcbiAgICAgICAgcmV0dXJuIHBsdWdpbnMuaG9tZS5yZXNvbHZlKHBhdGhBcmd1bWVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbnMuaG9tZSgpO1xuICAgIH1cbn07Il19
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRwYXRoLmdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0cGF0aC5nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBCQUF3QjtBQUN4QiwrQ0FBZ0Q7QUFFaEQ7O0dBRUc7QUFDUSxRQUFBLElBQUksR0FBRyxVQUFTLGFBQW9CO0lBQzNDLElBQUksUUFBUSxHQUFHLG9CQUFvQixDQUFBO0lBQ25DLEVBQUUsQ0FBQSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQUEsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVTLFFBQUEsSUFBSSxHQUFHLFVBQVMsWUFBb0I7SUFDM0MsRUFBRSxDQUFBLENBQUMsWUFBWSxDQUFDLENBQUEsQ0FBQztRQUNiLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7QUFDTCxDQUFDLENBQUMifQ==
 | 
			
		||||
							
								
								
									
										6
									
								
								dist/smartpath.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/smartpath.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
import "typings-global";
 | 
			
		||||
export import beautylog = require("beautylog");
 | 
			
		||||
import 'typings-global';
 | 
			
		||||
export import beautylog = require('beautylog');
 | 
			
		||||
export declare var home: any;
 | 
			
		||||
export import path = require("path");
 | 
			
		||||
export import path = require('path');
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								dist/smartpath.plugins.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								dist/smartpath.plugins.js
									
									
									
									
										vendored
									
									
								
							@@ -1,7 +1,6 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
require("typings-global");
 | 
			
		||||
exports.beautylog = require("beautylog");
 | 
			
		||||
exports.home = require("home");
 | 
			
		||||
exports.home = require('home');
 | 
			
		||||
exports.path = require("path");
 | 
			
		||||
 | 
			
		||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0cGF0aC5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDVixpQkFBUyxXQUFZLFdBQVcsQ0FBQyxDQUFDO0FBQ3JDLFlBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEIsWUFBSSxXQUFXLE1BQU0sQ0FBQyxDQUFDIiwiZmlsZSI6InNtYXJ0cGF0aC5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmV4cG9ydCBpbXBvcnQgYmVhdXR5bG9nID0gcmVxdWlyZSAoXCJiZWF1dHlsb2dcIik7XG5leHBvcnQgdmFyIGhvbWUgPSByZXF1aXJlKFwiaG9tZVwiKTtcbmV4cG9ydCBpbXBvcnQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuXG4iXX0=
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRwYXRoLnBsdWdpbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydHBhdGgucGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEJBQXVCO0FBQ3ZCLHlDQUErQztBQUNwQyxRQUFBLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDakMsK0JBQW9DIn0=
 | 
			
		||||
							
								
								
									
										4
									
								
								dist/smartpath.transform.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/smartpath.transform.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -1,2 +1,2 @@
 | 
			
		||||
import "typings-global";
 | 
			
		||||
export declare let toAbsolute: (relativeArg: any, baseArg?: string) => any;
 | 
			
		||||
import 'typings-global';
 | 
			
		||||
export declare let toAbsolute: (relativeArg: string | string[], baseArg?: string) => any;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								dist/smartpath.transform.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								dist/smartpath.transform.js
									
									
									
									
										vendored
									
									
								
							@@ -1,40 +1,43 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
require("typings-global");
 | 
			
		||||
var plugins = require("./smartpath.plugins");
 | 
			
		||||
const plugins = require("./smartpath.plugins");
 | 
			
		||||
/* ------------------------------------------ *
 | 
			
		||||
 * ------------ helpers --------------------- *
 | 
			
		||||
 * ------------------------------------------ */
 | 
			
		||||
var makeAbsolute = function (localPathArg, baseArg) {
 | 
			
		||||
    var absolutePath;
 | 
			
		||||
    if (baseArg) {
 | 
			
		||||
// checks a file 
 | 
			
		||||
let makeAbsolute = function (localPathArg, baseArg) {
 | 
			
		||||
    let absolutePath;
 | 
			
		||||
    let alreadyAbsolute = plugins.path.isAbsolute(localPathArg);
 | 
			
		||||
    if (baseArg && !alreadyAbsolute) {
 | 
			
		||||
        absolutePath = plugins.path.join(baseArg, localPathArg);
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
    else if (!alreadyAbsolute) {
 | 
			
		||||
        absolutePath = plugins.path.resolve(localPathArg);
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        absolutePath = localPathArg;
 | 
			
		||||
    }
 | 
			
		||||
    return absolutePath;
 | 
			
		||||
};
 | 
			
		||||
/* ------------------------------------------ *
 | 
			
		||||
 * ------- export functions ----------------- *
 | 
			
		||||
 * ------------------------------------------ */
 | 
			
		||||
exports.toAbsolute = function (relativeArg, baseArg) {
 | 
			
		||||
    if (typeof relativeArg === "string") {
 | 
			
		||||
    if (typeof relativeArg === 'string') {
 | 
			
		||||
        return makeAbsolute(relativeArg, baseArg);
 | 
			
		||||
    }
 | 
			
		||||
    else if (Array.isArray(relativeArg)) {
 | 
			
		||||
        var relativeArray = relativeArg;
 | 
			
		||||
        var absoluteArray = [];
 | 
			
		||||
        for (var key in relativeArray) {
 | 
			
		||||
        let relativeArray = relativeArg;
 | 
			
		||||
        let absoluteArray = [];
 | 
			
		||||
        for (let key in relativeArray) {
 | 
			
		||||
            absoluteArray.push(makeAbsolute(relativeArray[key], baseArg));
 | 
			
		||||
        }
 | 
			
		||||
        ;
 | 
			
		||||
        return absoluteArray;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        plugins.beautylog.error("smartpath.absolute() could not make sense of the input. " +
 | 
			
		||||
            "Input is neither String nor Array");
 | 
			
		||||
        plugins.beautylog.error('smartpath.absolute() could not make sense of the input. ' +
 | 
			
		||||
            'Input is neither String nor Array');
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0cGF0aC50cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFPLE9BQU8sV0FBVyxxQkFBcUIsQ0FBQyxDQUFDO0FBRWhEOztnREFFZ0Q7QUFDaEQsSUFBSSxZQUFZLEdBQUcsVUFBUyxZQUFtQixFQUFFLE9BQWU7SUFDNUQsSUFBSSxZQUFtQixDQUFDO0lBQ3hCLEVBQUUsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUM7UUFDUixZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNILFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRjs7Z0RBRWdEO0FBQ3JDLGtCQUFVLEdBQUcsVUFBUyxXQUFlLEVBQUUsT0FBZTtJQUM3RCxFQUFFLENBQUEsQ0FBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBLENBQUM7UUFDbEMsSUFBSSxhQUFhLEdBQUcsV0FBVyxDQUFBO1FBQy9CLElBQUksYUFBYSxHQUFZLEVBQUUsQ0FBQztRQUNoQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQSxDQUFDO1lBQzNCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFBQSxDQUFDO1FBQ0YsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUN6QixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQywwREFBMEQ7WUFDOUUsbUNBQW1DLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDTCxDQUFDLENBQUMiLCJmaWxlIjoic21hcnRwYXRoLnRyYW5zZm9ybS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0cGF0aC5wbHVnaW5zXCIpO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogLS0tLS0tLS0tLS0tIGhlbHBlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xubGV0IG1ha2VBYnNvbHV0ZSA9IGZ1bmN0aW9uKGxvY2FsUGF0aEFyZzpzdHJpbmcsIGJhc2VBcmc/OnN0cmluZyk6c3RyaW5nIHtcbiAgICBsZXQgYWJzb2x1dGVQYXRoOnN0cmluZztcbiAgICBpZihiYXNlQXJnKXtcbiAgICAgICAgYWJzb2x1dGVQYXRoID0gcGx1Z2lucy5wYXRoLmpvaW4oYmFzZUFyZyxsb2NhbFBhdGhBcmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgICBhYnNvbHV0ZVBhdGggPSBwbHVnaW5zLnBhdGgucmVzb2x2ZShsb2NhbFBhdGhBcmcpO1xuICAgIH1cbiAgICByZXR1cm4gYWJzb2x1dGVQYXRoO1xufTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIC0tLS0tLS0gZXhwb3J0IGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmV4cG9ydCBsZXQgdG9BYnNvbHV0ZSA9IGZ1bmN0aW9uKHJlbGF0aXZlQXJnOmFueSwgYmFzZUFyZz86c3RyaW5nKTphbnkge1xuICAgIGlmKHR5cGVvZiByZWxhdGl2ZUFyZyA9PT0gXCJzdHJpbmdcIil7XG4gICAgICAgIHJldHVybiBtYWtlQWJzb2x1dGUocmVsYXRpdmVBcmcsYmFzZUFyZyk7XG4gICAgfSBlbHNlIGlmKEFycmF5LmlzQXJyYXkocmVsYXRpdmVBcmcpKXtcbiAgICAgICAgbGV0IHJlbGF0aXZlQXJyYXkgPSByZWxhdGl2ZUFyZ1xuICAgICAgICBsZXQgYWJzb2x1dGVBcnJheTpzdHJpbmdbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcmVsYXRpdmVBcnJheSl7XG4gICAgICAgICAgICBhYnNvbHV0ZUFycmF5LnB1c2gobWFrZUFic29sdXRlKHJlbGF0aXZlQXJyYXlba2V5XSxiYXNlQXJnKSk7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBhYnNvbHV0ZUFycmF5O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKFwic21hcnRwYXRoLmFic29sdXRlKCkgY291bGQgbm90IG1ha2Ugc2Vuc2Ugb2YgdGhlIGlucHV0LiBcIiArXG4gICAgICAgICAgICBcIklucHV0IGlzIG5laXRoZXIgU3RyaW5nIG5vciBBcnJheVwiKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn07Il19
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRwYXRoLnRyYW5zZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0cGF0aC50cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBCQUF1QjtBQUN2QiwrQ0FBK0M7QUFFL0M7O2dEQUVnRDtBQUVoRCxpQkFBaUI7QUFDakIsSUFBSSxZQUFZLEdBQUcsVUFBUyxZQUFvQixFQUFFLE9BQWdCO0lBQzlELElBQUksWUFBb0IsQ0FBQTtJQUN4QixJQUFJLGVBQWUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUMzRCxFQUFFLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQzlCLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsWUFBWSxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDekIsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLFlBQVksR0FBRyxZQUFZLENBQUE7SUFDL0IsQ0FBQztJQUNELE1BQU0sQ0FBQyxZQUFZLENBQUE7QUFDdkIsQ0FBQyxDQUFBO0FBRUQ7O2dEQUVnRDtBQUNyQyxRQUFBLFVBQVUsR0FBRyxVQUFTLFdBQThCLEVBQUUsT0FBZ0I7SUFDN0UsRUFBRSxDQUFDLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNsQyxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBQyxPQUFPLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksYUFBYSxHQUFHLFdBQVcsQ0FBQTtRQUMvQixJQUFJLGFBQWEsR0FBYSxFQUFFLENBQUE7UUFDaEMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQztZQUM1QixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUNoRSxDQUFDO1FBQ0QsTUFBTSxDQUFDLGFBQWEsQ0FBQTtJQUN4QixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQywwREFBMEQ7WUFDOUUsbUNBQW1DLENBQUMsQ0FBQTtRQUN4QyxNQUFNLENBQUMsS0FBSyxDQUFBO0lBQ2hCLENBQUM7QUFDTCxDQUFDLENBQUEifQ==
 | 
			
		||||
							
								
								
									
										10
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								package.json
									
									
									
									
									
								
							@@ -23,13 +23,13 @@
 | 
			
		||||
  },
 | 
			
		||||
  "homepage": "https://github.com/pushrocks/smartpath",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "beautylog": "^5.0.10",
 | 
			
		||||
    "beautylog": "^5.0.23",
 | 
			
		||||
    "home": "^1.0.1",
 | 
			
		||||
    "typings-global": "^1.0.3"
 | 
			
		||||
    "typings-global": "^1.0.14"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "npmts-g": "^5.2.6",
 | 
			
		||||
    "should": "^9.0.2",
 | 
			
		||||
    "typings-test": "^1.0.1"
 | 
			
		||||
    "npmts-g": "^5.2.8",
 | 
			
		||||
    "should": "^11.1.0",
 | 
			
		||||
    "typings-test": "^1.0.3"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								test/test.js
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								test/test.js
									
									
									
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										17
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								ts/index.ts
									
									
									
									
									
								
							@@ -1,8 +1,10 @@
 | 
			
		||||
import "typings-global";
 | 
			
		||||
import plugins = require("./smartpath.plugins");
 | 
			
		||||
import SmartpathCheck = require("./smartpath.check");
 | 
			
		||||
import SmartpathGet = require("./smartpath.get");
 | 
			
		||||
import SmartpathTransform = require("./smartpath.transform");
 | 
			
		||||
import 'typings-global'
 | 
			
		||||
import plugins = require('./smartpath.plugins')
 | 
			
		||||
 | 
			
		||||
// import modules
 | 
			
		||||
import SmartpathCheck = require('./smartpath.check')
 | 
			
		||||
import SmartpathGet = require('./smartpath.get')
 | 
			
		||||
import SmartpathTransform = require('./smartpath.transform')
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
@@ -12,7 +14,6 @@ let smartpath = {
 | 
			
		||||
    check: SmartpathCheck,
 | 
			
		||||
    get: SmartpathGet,
 | 
			
		||||
    transform: SmartpathTransform
 | 
			
		||||
};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
export = smartpath;
 | 
			
		||||
export = smartpath
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
import "typings-global";
 | 
			
		||||
import plugins = require("./smartpath.plugins");
 | 
			
		||||
import 'typings-global'
 | 
			
		||||
import plugins = require('./smartpath.plugins')
 | 
			
		||||
 | 
			
		||||
export let isDir = function(pathArg:string){
 | 
			
		||||
    return !isFile(pathArg);
 | 
			
		||||
export let isDir = function(pathArg: string){
 | 
			
		||||
    return !isFile(pathArg)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export let isFile = function(pathArg){
 | 
			
		||||
    return /\.[a-zA-Z]*$/.test(pathArg); // checks if there is a .anything at the end
 | 
			
		||||
}
 | 
			
		||||
    return /\.[a-zA-Z]*$/.test(pathArg) // checks if there is a .anything at the end
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,4 @@
 | 
			
		||||
import "typings-global";
 | 
			
		||||
export import beautylog = require ("beautylog");
 | 
			
		||||
export var home = require("home");
 | 
			
		||||
export import path = require("path");
 | 
			
		||||
 | 
			
		||||
import 'typings-global'
 | 
			
		||||
export import beautylog = require ('beautylog')
 | 
			
		||||
export var home = require('home')
 | 
			
		||||
export import path = require('path')
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,40 @@
 | 
			
		||||
import "typings-global";
 | 
			
		||||
import plugins = require("./smartpath.plugins");
 | 
			
		||||
import 'typings-global'
 | 
			
		||||
import plugins = require('./smartpath.plugins')
 | 
			
		||||
 | 
			
		||||
/* ------------------------------------------ *
 | 
			
		||||
 * ------------ helpers --------------------- *
 | 
			
		||||
 * ------------------------------------------ */
 | 
			
		||||
let makeAbsolute = function(localPathArg:string, baseArg?:string):string {
 | 
			
		||||
    let absolutePath:string;
 | 
			
		||||
    if(baseArg){
 | 
			
		||||
        absolutePath = plugins.path.join(baseArg,localPathArg);
 | 
			
		||||
 | 
			
		||||
// checks a file 
 | 
			
		||||
let makeAbsolute = function(localPathArg: string, baseArg?: string): string {
 | 
			
		||||
    let absolutePath: string
 | 
			
		||||
    let alreadyAbsolute = plugins.path.isAbsolute(localPathArg)
 | 
			
		||||
    if (baseArg && !alreadyAbsolute) {
 | 
			
		||||
        absolutePath = plugins.path.join(baseArg,localPathArg)
 | 
			
		||||
    } else if (!alreadyAbsolute) {
 | 
			
		||||
         absolutePath = plugins.path.resolve(localPathArg)
 | 
			
		||||
    } else {
 | 
			
		||||
         absolutePath = plugins.path.resolve(localPathArg);
 | 
			
		||||
        absolutePath = localPathArg
 | 
			
		||||
    }
 | 
			
		||||
    return absolutePath;
 | 
			
		||||
};
 | 
			
		||||
    return absolutePath
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* ------------------------------------------ *
 | 
			
		||||
 * ------- export functions ----------------- *
 | 
			
		||||
 * ------------------------------------------ */
 | 
			
		||||
export let toAbsolute = function(relativeArg:any, baseArg?:string):any {
 | 
			
		||||
    if(typeof relativeArg === "string"){
 | 
			
		||||
        return makeAbsolute(relativeArg,baseArg);
 | 
			
		||||
    } else if(Array.isArray(relativeArg)){
 | 
			
		||||
export let toAbsolute = function(relativeArg: string | string[], baseArg?: string): any {
 | 
			
		||||
    if (typeof relativeArg === 'string') {
 | 
			
		||||
        return makeAbsolute(relativeArg,baseArg)
 | 
			
		||||
    } else if (Array.isArray(relativeArg)) {
 | 
			
		||||
        let relativeArray = relativeArg
 | 
			
		||||
        let absoluteArray:string[] = [];
 | 
			
		||||
        for (let key in relativeArray){
 | 
			
		||||
            absoluteArray.push(makeAbsolute(relativeArray[key],baseArg));
 | 
			
		||||
        };
 | 
			
		||||
        return absoluteArray;
 | 
			
		||||
        let absoluteArray: string[] = []
 | 
			
		||||
        for (let key in relativeArray) {
 | 
			
		||||
            absoluteArray.push(makeAbsolute(relativeArray[key],baseArg))
 | 
			
		||||
        }
 | 
			
		||||
        return absoluteArray
 | 
			
		||||
    } else {
 | 
			
		||||
        plugins.beautylog.error("smartpath.absolute() could not make sense of the input. " +
 | 
			
		||||
            "Input is neither String nor Array");
 | 
			
		||||
        return false;
 | 
			
		||||
        plugins.beautylog.error('smartpath.absolute() could not make sense of the input. ' +
 | 
			
		||||
            'Input is neither String nor Array')
 | 
			
		||||
        return false
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								tslint.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								tslint.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
{
 | 
			
		||||
    "extends": "tslint-config-standard"
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user