Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
736eefa91e | |||
8fc994737b | |||
32e478ef4e | |||
451e2e241f | |||
202914b19b | |||
373a4eed94 | |||
9a9f28bdff | |||
2bd242ac57 | |||
b113dcfbe0 | |||
dc6636d552 | |||
72c70c481a | |||
8986953592 | |||
8a2afe1a81 | |||
48f44ee937 |
5
.gitignore
vendored
5
.gitignore
vendored
@ -1,3 +1,8 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
.settings/
|
.settings/
|
||||||
.idea/
|
.idea/
|
||||||
|
docs/
|
||||||
|
ts/typings/
|
||||||
|
ts/**/*.js
|
||||||
|
ts/**/*.js.map
|
||||||
|
coverage/
|
14
.travis.yml
14
.travis.yml
@ -1,16 +1,12 @@
|
|||||||
language: node_js
|
language: node_js
|
||||||
before_install:
|
node_js:
|
||||||
- nvm install stable
|
- 4.3.1
|
||||||
- node -v
|
- stable
|
||||||
- npm -v
|
|
||||||
- npm install -g gulp
|
|
||||||
- npm install gulp
|
|
||||||
- npm install gulp-typescript
|
|
||||||
deploy:
|
deploy:
|
||||||
provider: npm
|
provider: npm
|
||||||
email: npm@smart-coordination.com
|
email: npm@lossless.digital
|
||||||
api_key:
|
api_key:
|
||||||
secure: hfuRCg2RSNTvSe49w+rqx/fPt2OILDTjdYkga5BnGr0Rja5yL/2SpVNOP62lYNQBB61TfqfT8F4gQsQyAuygzhNT1ijZ4qCvSdqHqXki/0hzTVZAvfF2aoLxUnuCMAYawUyx5nibJKCmGXvH9MbMrEwV5Gh0uSf0HRmskp/GKuXw5epnMkOT2SEr9Mw7Hpu3VKLEALoKOI2hYBRv555sRFkI3Cd9v1n0384HEjCbQEwXhPwwki2XL2SXzGP8IOccE3xLK9zsQO2RDCqaKpIsK682ZtrvyqxmAJaivtO6VImkpBXcKniYOqJR6sWrsw5345er/iSSr30fgjw4I6LNyUcmF59Uw/dPAElvLN6jU6zxg/+GHM7xqz/J/HV3rlE4d20/9ZJB9IIm2761c3T7DraBMbA7ehj1lolTvCq1vx8oGbNEhkTVBj06V3ltdMPHMiNbeG2Tqs50h/lOgRy5+oqZ8ULWayWX1KXloM3LlddXJnnB31LzHbZUZw7m+q8QnfBlPCWuLd1JfluFrszr1YAR6YPciL9grBNV7beG+8wbh2G0gfMdCHZOzhDmoEHgt/y8liV0QdsFH6QLlEwt8UMPeZ8IO0sNYx5A2ffznZIzy9xEDmMySwl8J3/EdQxhS6FGrm000lu4BH+c2dVlCn/5va9fJLD+m6seSN8Yy40=
|
secure: C21gKjjg4W61RQlDo9vCjXjJ5NRvEoLuKe8IcKrTXEnn5R3ewnHfpgAQtXuBLvYuP6mIS6N2UxhcIo3BpsII1oOC4iJ4i3wqf6CH9hkmD1ejJe7qRiMKxltN0/4DHioySuolfcimKnOKSMGNQpOnze9lxqNi/qjUIgdsEY7soJRLIR9JQmhBBcRHoSzhxm6AnDmgEO75QsDIyhDH4wkWkOCOhRhjSfFNI6rm/om0XBRYkCKeNfz+Oqosnr8EkMVzsiRebLLXwZxzyCGSVFYQobtLxVqZDK5fvcz/GPyCbpDG/pZq5lxEkFYRiq+OmlIQn9Hz4C0i8VlXevS0ZatwS9iCGmG0/4ayUc2ksasY8o+bUfPJju0vKsCJJhtIj1e4GEj0ubisKirBOb5Oj8tMdf9RGLeNztFKRZEaM/ZoJ0gN//R9p4vWUZGMqJeIWh4I0hXA5Lv2OTUSl2h9bJ+Z678cb1k40w8bEVOij9GnUGQHybNwXV+8LZckap29/XDxguxtnYnuoX7L/dUfjkhK6JQRS9c7NDWOSzsnsy5kx0jHNaHac7vxMzmbdSRK71rNkzudtu2ECxONDc8aUNJLmUfL1tgYWt9/t9ramBqtmpp3w0S+s82PDHtoxAn02lWi2pz8pSp9ACP105qtUD9/1TCWtQUbYoL00QhFmlKzWwg=
|
||||||
on:
|
on:
|
||||||
tags: true
|
tags: true
|
||||||
repo: pushrocks/smartpath
|
repo: pushrocks/smartpath
|
||||||
|
@ -1,2 +1,6 @@
|
|||||||
# smartpath
|
# smartpath
|
||||||
offers smart ways to handle paths
|
offers smart ways to handle paths
|
||||||
|
|
||||||
|
## Status
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
14
dist/index.js
vendored
Normal file
14
dist/index.js
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
"use strict";
|
||||||
|
var SmartpathTransform = require("./smartpath.transform");
|
||||||
|
var SmartpathGet = require("./smartpath.get");
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {{getPath: (function(any): undefined)}}
|
||||||
|
*/
|
||||||
|
var smartpath = {
|
||||||
|
transform: SmartpathTransform,
|
||||||
|
get: SmartpathGet
|
||||||
|
};
|
||||||
|
module.exports = smartpath;
|
||||||
|
|
||||||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxJQUFPLGtCQUFrQixXQUFXLHVCQUF1QixDQUFDLENBQUM7QUFDN0QsSUFBTyxZQUFZLFdBQVcsaUJBQWlCLENBQUMsQ0FBQztBQUVqRDs7O0dBR0c7QUFDSCxJQUFJLFNBQVMsR0FBRztJQUNaLFNBQVMsRUFBRSxrQkFBa0I7SUFDN0IsR0FBRyxFQUFFLFlBQVk7Q0FFcEIsQ0FBQztBQUdGLGlCQUFTLFNBQVMsQ0FBQyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJ0eXBpbmdzL21haW4uZC50c1wiIC8+XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0cGF0aC5wbHVnaW5zXCIpO1xuaW1wb3J0IFNtYXJ0cGF0aFRyYW5zZm9ybSA9IHJlcXVpcmUoXCIuL3NtYXJ0cGF0aC50cmFuc2Zvcm1cIik7XG5pbXBvcnQgU21hcnRwYXRoR2V0ID0gcmVxdWlyZShcIi4vc21hcnRwYXRoLmdldFwiKTtcblxuLyoqXG4gKlxuICogQHR5cGUge3tnZXRQYXRoOiAoZnVuY3Rpb24oYW55KTogdW5kZWZpbmVkKX19XG4gKi9cbmxldCBzbWFydHBhdGggPSB7XG4gICAgdHJhbnNmb3JtOiBTbWFydHBhdGhUcmFuc2Zvcm0sXG4gICAgZ2V0OiBTbWFydHBhdGhHZXRcblxufTtcblxuXG5leHBvcnQgPSBzbWFydHBhdGg7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
|
13
dist/smartpath.get.js
vendored
Normal file
13
dist/smartpath.get.js
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
"use strict";
|
||||||
|
exports.type = function (pathStringArg) {
|
||||||
|
var urlRegex = /http[s|\s]:\/\/.*/i;
|
||||||
|
if (urlRegex.exec(pathStringArg)) {
|
||||||
|
return "url";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return "local";
|
||||||
|
}
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0cGF0aC5nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdXLFlBQUksR0FBRyxVQUFTLGFBQW9CO0lBQzNDLElBQUksUUFBUSxHQUFHLG9CQUFvQixDQUFBO0lBQ25DLEVBQUUsQ0FBQSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQUEsQ0FBQztBQUNOLENBQUMsQ0FBQyIsImZpbGUiOiJzbWFydHBhdGguZ2V0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cInR5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRwYXRoLnBsdWdpbnNcIik7XG5cbmV4cG9ydCBsZXQgdHlwZSA9IGZ1bmN0aW9uKHBhdGhTdHJpbmdBcmc6c3RyaW5nKTpzdHJpbmcge1xuICAgIGxldCB1cmxSZWdleCA9IC9odHRwW3N8XFxzXTpcXC9cXC8uKi9pXG4gICAgaWYodXJsUmVnZXguZXhlYyhwYXRoU3RyaW5nQXJnKSl7XG4gICAgICAgIHJldHVybiBcInVybFwiO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBcImxvY2FsXCI7XG4gICAgfTtcbn07Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
|
6
dist/smartpath.plugins.js
vendored
Normal file
6
dist/smartpath.plugins.js
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
"use strict";
|
||||||
|
/// <reference path="./typings/main.d.ts" />
|
||||||
|
exports.beautylog = require("beautylog");
|
||||||
|
exports.path = require("path");
|
||||||
|
|
||||||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0cGF0aC5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBNEM7QUFDakMsaUJBQVMsR0FBRyxPQUFPLENBQUUsV0FBVyxDQUFDLENBQUM7QUFDbEMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyIsImZpbGUiOiJzbWFydHBhdGgucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbmV4cG9ydCB2YXIgYmVhdXR5bG9nID0gcmVxdWlyZSAoXCJiZWF1dHlsb2dcIik7XG5leHBvcnQgdmFyIHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTsiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
|
40
dist/smartpath.transform.js
vendored
Normal file
40
dist/smartpath.transform.js
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
"use strict";
|
||||||
|
/// <reference path="typings/main.d.ts" />
|
||||||
|
var plugins = require("./smartpath.plugins");
|
||||||
|
/* ------------------------------------------ *
|
||||||
|
* ------------ helpers --------------------- *
|
||||||
|
* ------------------------------------------ */
|
||||||
|
var makeAbsolute = function (localPathArg, baseArg) {
|
||||||
|
var absolutePath;
|
||||||
|
if (baseArg) {
|
||||||
|
absolutePath = plugins.path.join(baseArg, localPathArg);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
absolutePath = plugins.path.resolve(localPathArg);
|
||||||
|
}
|
||||||
|
return absolutePath;
|
||||||
|
};
|
||||||
|
/* ------------------------------------------ *
|
||||||
|
* ------- export functions ----------------- *
|
||||||
|
* ------------------------------------------ */
|
||||||
|
exports.toAbsolute = function (relativeArg, baseArg) {
|
||||||
|
if (typeof relativeArg === "string") {
|
||||||
|
return makeAbsolute(relativeArg, baseArg);
|
||||||
|
}
|
||||||
|
else if (Array.isArray(relativeArg)) {
|
||||||
|
var relativeArray = relativeArg;
|
||||||
|
var absoluteArray = [];
|
||||||
|
for (var 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;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0cGF0aC50cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBDQUEwQztBQUMxQyxJQUFPLE9BQU8sV0FBVyxxQkFBcUIsQ0FBQyxDQUFDO0FBRWhEOztnREFFZ0Q7QUFDaEQsSUFBSSxZQUFZLEdBQUcsVUFBUyxZQUFtQixFQUFFLE9BQWU7SUFDNUQsSUFBSSxZQUFtQixDQUFDO0lBQ3hCLEVBQUUsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUM7UUFDUixZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNILFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRjs7Z0RBRWdEO0FBQ3JDLGtCQUFVLEdBQUcsVUFBUyxXQUFlLEVBQUUsT0FBZTtJQUM3RCxFQUFFLENBQUEsQ0FBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBLENBQUM7UUFDbEMsSUFBSSxhQUFhLEdBQUcsV0FBVyxDQUFBO1FBQy9CLElBQUksYUFBYSxHQUFZLEVBQUUsQ0FBQztRQUNoQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQSxDQUFDO1lBQzNCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFBQSxDQUFDO1FBQ0YsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUN6QixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQywwREFBMEQ7WUFDOUUsbUNBQW1DLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDTCxDQUFDLENBQUMiLCJmaWxlIjoic21hcnRwYXRoLnRyYW5zZm9ybS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJ0eXBpbmdzL21haW4uZC50c1wiIC8+XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0cGF0aC5wbHVnaW5zXCIpO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogLS0tLS0tLS0tLS0tIGhlbHBlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xubGV0IG1ha2VBYnNvbHV0ZSA9IGZ1bmN0aW9uKGxvY2FsUGF0aEFyZzpzdHJpbmcsIGJhc2VBcmc/OnN0cmluZyk6c3RyaW5nIHtcbiAgICBsZXQgYWJzb2x1dGVQYXRoOnN0cmluZztcbiAgICBpZihiYXNlQXJnKXtcbiAgICAgICAgYWJzb2x1dGVQYXRoID0gcGx1Z2lucy5wYXRoLmpvaW4oYmFzZUFyZyxsb2NhbFBhdGhBcmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgICBhYnNvbHV0ZVBhdGggPSBwbHVnaW5zLnBhdGgucmVzb2x2ZShsb2NhbFBhdGhBcmcpO1xuICAgIH1cbiAgICByZXR1cm4gYWJzb2x1dGVQYXRoO1xufTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIC0tLS0tLS0gZXhwb3J0IGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmV4cG9ydCBsZXQgdG9BYnNvbHV0ZSA9IGZ1bmN0aW9uKHJlbGF0aXZlQXJnOmFueSwgYmFzZUFyZz86c3RyaW5nKTphbnkge1xuICAgIGlmKHR5cGVvZiByZWxhdGl2ZUFyZyA9PT0gXCJzdHJpbmdcIil7XG4gICAgICAgIHJldHVybiBtYWtlQWJzb2x1dGUocmVsYXRpdmVBcmcsYmFzZUFyZyk7XG4gICAgfSBlbHNlIGlmKEFycmF5LmlzQXJyYXkocmVsYXRpdmVBcmcpKXtcbiAgICAgICAgbGV0IHJlbGF0aXZlQXJyYXkgPSByZWxhdGl2ZUFyZ1xuICAgICAgICBsZXQgYWJzb2x1dGVBcnJheTpzdHJpbmdbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcmVsYXRpdmVBcnJheSl7XG4gICAgICAgICAgICBhYnNvbHV0ZUFycmF5LnB1c2gobWFrZUFic29sdXRlKHJlbGF0aXZlQXJyYXlba2V5XSxiYXNlQXJnKSk7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBhYnNvbHV0ZUFycmF5O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKFwic21hcnRwYXRoLmFic29sdXRlKCkgY291bGQgbm90IG1ha2Ugc2Vuc2Ugb2YgdGhlIGlucHV0LiBcIiArXG4gICAgICAgICAgICBcIklucHV0IGlzIG5laXRoZXIgU3RyaW5nIG5vciBBcnJheVwiKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn07Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
|
19
index.js
19
index.js
@ -1,19 +0,0 @@
|
|||||||
/// <reference path="typings/tsd.d.ts" />
|
|
||||||
var path = require("path");
|
|
||||||
var bl = require("beautylog");
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @type {{getPath: (function(any): undefined)}}
|
|
||||||
*/
|
|
||||||
var smartpath = {
|
|
||||||
getAbsPath: function (varPath, logBool) {
|
|
||||||
if (logBool === void 0) { logBool = false; }
|
|
||||||
var absPath = path.resolve(varPath);
|
|
||||||
if (logBool == true) {
|
|
||||||
bl.log('varPath is' + varPath);
|
|
||||||
bl.log('absPath is' + absPath);
|
|
||||||
}
|
|
||||||
return absPath;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
module.exports = smartpath;
|
|
4
npmts.json
Normal file
4
npmts.json
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"mode": "default",
|
||||||
|
"coveralls": "true"
|
||||||
|
}
|
16
package.json
16
package.json
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"name": "smartpath",
|
"name": "smartpath",
|
||||||
"version": "1.0.2",
|
"version": "3.0.3",
|
||||||
"description": "offers smart ways to handle paths",
|
"description": "offers smart ways to handle paths",
|
||||||
"main": "index.js",
|
"main": "dist/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "cd ts/compile && gulp"
|
"test": "(npmts)"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -15,11 +15,17 @@
|
|||||||
"jade",
|
"jade",
|
||||||
"template"
|
"template"
|
||||||
],
|
],
|
||||||
"author": "Smart Coordination GmbH <office@push.rocks> (https://push.rocks)",
|
"author": "Lossless GmbH <office@lossless.com> (https://lossless.com)",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/pushrocks/smartpath/issues"
|
"url": "https://github.com/pushrocks/smartpath/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/pushrocks/smartpath",
|
"homepage": "https://github.com/pushrocks/smartpath",
|
||||||
"dependencies": {}
|
"dependencies": {
|
||||||
|
"beautylog": "^3.1.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"npmts": "^3.6.3",
|
||||||
|
"should": "^8.3.0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
40
test/test.js
Normal file
40
test/test.js
Normal file
File diff suppressed because one or more lines are too long
1
test/test.js.map
Normal file
1
test/test.js.map
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/B,IAAI,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAE5C,QAAQ,CAAC,WAAW,EAAC;IACjB,QAAQ,CAAC,YAAY,EAAC;QAClB,QAAQ,CAAC,cAAc,EAAC;YACpB,IAAI,UAAU,GAAG,UAAU,CAAC;YAC5B,IAAI,cAAc,GAAG,sBAAsB,CAAC;YAC5C,IAAI,eAAe,GAAG,4BAA4B,CAAC;YACnD,IAAI,aAAa,GAAG,CAAC,cAAc,EAAC,cAAc,EAAC,eAAe,CAAC,CAAC;YACpE,EAAE,CAAC,+BAA+B,EAAC;gBAC/B,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACrE,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC9E,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,EAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC5G,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,uEAAuE,EAAC;gBACvE,IAAI,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAC,UAAU,CAAC,CAAC;gBAC7E,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACvC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAErD,CAAC,CAAC,CAAA;YACF,EAAE,CAAC,iDAAiD,EAAC;gBACjD,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YACxD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,MAAM,EAAC;QACZ,QAAQ,CAAC,SAAS,EAAC;YACf,EAAE,CAAC,gCAAgC,EAAC;gBAChC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,iCAAiC,EAAC;gBACjC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
40
test/test.ts
Normal file
40
test/test.ts
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
/// <reference path="../ts/typings/main.d.ts" />
|
||||||
|
let should = require("should");
|
||||||
|
let smartpath = require("../dist/index.js");
|
||||||
|
|
||||||
|
describe("smartpath",function(){
|
||||||
|
describe(".transform",function(){
|
||||||
|
describe("toAbsolute()",function(){
|
||||||
|
let baseString = "/basedir";
|
||||||
|
let relativeString = "somedir/somefile.txt";
|
||||||
|
let relativeString2 = "anotherdir/anotherfile.txt";
|
||||||
|
let relativeArray = [relativeString,relativeString,relativeString2];
|
||||||
|
it("should make a string absolute",function(){
|
||||||
|
smartpath.transform.toAbsolute(relativeString).should.startWith("/");
|
||||||
|
smartpath.transform.toAbsolute(relativeString).should.endWith(relativeString);
|
||||||
|
smartpath.transform.toAbsolute(relativeString,baseString).should.equal("/basedir/somedir/somefile.txt");
|
||||||
|
});
|
||||||
|
it("should make an array of relative Strings an Array of absolute Strings",function(){
|
||||||
|
let absoluteArray = smartpath.transform.toAbsolute(relativeArray,baseString);
|
||||||
|
absoluteArray[2].should.startWith("/");
|
||||||
|
absoluteArray[2].should.endWith(relativeString2);
|
||||||
|
|
||||||
|
})
|
||||||
|
it("should return false if neither String nor Array",function(){
|
||||||
|
smartpath.transform.toAbsolute(3).should.be.false();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe(".get",function(){
|
||||||
|
describe(".type()",function(){
|
||||||
|
it("should return 'url' for an URL",function(){
|
||||||
|
smartpath.get.type("https://push.rocks/some/url").should.equal("url");
|
||||||
|
smartpath.get.type("https://push.rocks/some/url").should.not.equal("local");
|
||||||
|
});
|
||||||
|
it("should return 'path' for a Path",function(){
|
||||||
|
smartpath.get.type("/some/absolute/path/").should.equal("local");
|
||||||
|
smartpath.get.type("./some/relative/path/").should.not.equal("url");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
@ -1,2 +0,0 @@
|
|||||||
nvm use v0.12.7
|
|
||||||
gulp
|
|
@ -1,16 +0,0 @@
|
|||||||
// import gulp
|
|
||||||
var gulp = require("gulp"),
|
|
||||||
gulpTypescript = require("gulp-typescript");
|
|
||||||
|
|
||||||
gulp.task('compileTS', function() {
|
|
||||||
var stream = gulp.src('../index.ts')
|
|
||||||
.pipe(gulpTypescript({
|
|
||||||
out: "index.js"
|
|
||||||
}))
|
|
||||||
.pipe(gulp.dest("../../"));
|
|
||||||
return stream;
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('default',['compileTS'], function() {
|
|
||||||
console.log('Typescript compiled');
|
|
||||||
});
|
|
@ -1,2 +0,0 @@
|
|||||||
# How to compile.
|
|
||||||
Make sure gulp and gulp-taypescript from npm are available. Then run the gulpfile in this directory.
|
|
23
ts/index.ts
23
ts/index.ts
@ -1,22 +1,17 @@
|
|||||||
/// <reference path="typings/tsd.d.ts" />
|
/// <reference path="typings/main.d.ts" />
|
||||||
|
import plugins = require("./smartpath.plugins");
|
||||||
var path = require("path");
|
import SmartpathTransform = require("./smartpath.transform");
|
||||||
var bl = require("beautylog");
|
import SmartpathGet = require("./smartpath.get");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @type {{getPath: (function(any): undefined)}}
|
* @type {{getPath: (function(any): undefined)}}
|
||||||
*/
|
*/
|
||||||
var smartpath:any = {
|
let smartpath = {
|
||||||
getAbsPath: function(varPath,logBool = false) {
|
transform: SmartpathTransform,
|
||||||
var absPath = path.resolve(varPath);
|
get: SmartpathGet
|
||||||
if (logBool == true) {
|
|
||||||
bl.log('varPath is' + varPath);
|
|
||||||
bl.log('absPath is' + absPath);
|
|
||||||
}
|
|
||||||
return absPath;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
module.exports = smartpath;
|
export = smartpath;
|
||||||
|
11
ts/smartpath.get.ts
Normal file
11
ts/smartpath.get.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/// <reference path="typings/main.d.ts" />
|
||||||
|
import plugins = require("./smartpath.plugins");
|
||||||
|
|
||||||
|
export let type = function(pathStringArg:string):string {
|
||||||
|
let urlRegex = /http[s|\s]:\/\/.*/i
|
||||||
|
if(urlRegex.exec(pathStringArg)){
|
||||||
|
return "url";
|
||||||
|
} else {
|
||||||
|
return "local";
|
||||||
|
};
|
||||||
|
};
|
3
ts/smartpath.plugins.ts
Normal file
3
ts/smartpath.plugins.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
/// <reference path="./typings/main.d.ts" />
|
||||||
|
export var beautylog = require ("beautylog");
|
||||||
|
export var path = require("path");
|
35
ts/smartpath.transform.ts
Normal file
35
ts/smartpath.transform.ts
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/// <reference path="typings/main.d.ts" />
|
||||||
|
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);
|
||||||
|
} else {
|
||||||
|
absolutePath = plugins.path.resolve(localPathArg);
|
||||||
|
}
|
||||||
|
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)){
|
||||||
|
let relativeArray = relativeArg
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
};
|
12
ts/tsd.json
12
ts/tsd.json
@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"version": "v4",
|
|
||||||
"repo": "borisyankov/DefinitelyTyped",
|
|
||||||
"ref": "master",
|
|
||||||
"path": "typings",
|
|
||||||
"bundle": "typings/tsd.d.ts",
|
|
||||||
"installed": {
|
|
||||||
"node/node.d.ts": {
|
|
||||||
"commit": "efa0c1196d7280640e624ac1e7fa604502e7bd63"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
6
ts/typings.json
Normal file
6
ts/typings.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"ambientDependencies": {
|
||||||
|
"mocha": "github:DefinitelyTyped/DefinitelyTyped/mocha/mocha.d.ts#d6dd320291705694ba8e1a79497a908e9f5e6617",
|
||||||
|
"node": "github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts#efa0c1196d7280640e624ac1e7fa604502e7bd63"
|
||||||
|
}
|
||||||
|
}
|
2079
ts/typings/node/node.d.ts
vendored
2079
ts/typings/node/node.d.ts
vendored
File diff suppressed because it is too large
Load Diff
1
ts/typings/tsd.d.ts
vendored
1
ts/typings/tsd.d.ts
vendored
@ -1 +0,0 @@
|
|||||||
/// <reference path="node/node.d.ts" />
|
|
Reference in New Issue
Block a user