add travis

This commit is contained in:
Philipp Kunz 2016-03-12 09:36:30 +01:00
parent 48f44ee937
commit 8a2afe1a81
11 changed files with 82 additions and 20 deletions

View File

@ -1,16 +1,16 @@
language: node_js language: node_js
before_install: before_install:
- nvm install stable - nvm install stable
- node -v - node -v
- npm -v - npm -v
- npm install -g gulp - npm install -g gulp
- npm install gulp - npm install gulp
- npm install gulp-typescript - 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

View File

@ -1,2 +1,6 @@
# smartpath # smartpath
offers smart ways to handle paths offers smart ways to handle paths
## Status
## Documentation

7
dist/index.js vendored
View File

@ -1,8 +1,11 @@
var SmartpathAbsolute = require("./smartpath.absolute");
/** /**
* *
* @type {{getPath: (function(any): undefined)}} * @type {{getPath: (function(any): undefined)}}
*/ */
var smartpath = {}; var smartpath = {
absolute: SmartpathAbsolute
};
module.exports = smartpath; module.exports = smartpath;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBOzs7R0FHRztBQUNILElBQUksU0FBUyxHQUFHLEVBRWYsQ0FBQztBQUdGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cInR5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRwYXRoLnBsdWdpbnNcIik7XG5pbXBvcnQgU21hcnRwYXRoQWJzb2x1dGUgPSByZXF1aXJlKFwiLi9zbWFydHBhdGguYWJzb2x1dGVcIik7XG5cblxuLyoqXG4gKlxuICogQHR5cGUge3tnZXRQYXRoOiAoZnVuY3Rpb24oYW55KTogdW5kZWZpbmVkKX19XG4gKi9cbmxldCBzbWFydHBhdGggPSB7XG5cbn07XG5cblxubW9kdWxlLmV4cG9ydHMgPSBzbWFydHBhdGg7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLElBQU8saUJBQWlCLFdBQVcsc0JBQXNCLENBQUMsQ0FBQztBQUczRDs7O0dBR0c7QUFDSCxJQUFJLFNBQVMsR0FBRztJQUNaLFFBQVEsRUFBRSxpQkFBaUI7Q0FDOUIsQ0FBQztBQUdGLGlCQUFTLFNBQVMsQ0FBQyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJ0eXBpbmdzL21haW4uZC50c1wiIC8+XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0cGF0aC5wbHVnaW5zXCIpO1xuaW1wb3J0IFNtYXJ0cGF0aEFic29sdXRlID0gcmVxdWlyZShcIi4vc21hcnRwYXRoLmFic29sdXRlXCIpO1xuXG5cbi8qKlxuICpcbiAqIEB0eXBlIHt7Z2V0UGF0aDogKGZ1bmN0aW9uKGFueSk6IHVuZGVmaW5lZCl9fVxuICovXG5sZXQgc21hcnRwYXRoID0ge1xuICAgIGFic29sdXRlOiBTbWFydHBhdGhBYnNvbHV0ZVxufTtcblxuXG5leHBvcnQgPSBzbWFydHBhdGg7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

View File

@ -12,13 +12,13 @@ var makeAbsolute = function (localPathArg, baseArg) {
}; };
var absolute = function (relativeArg, baseArg) { var absolute = function (relativeArg, baseArg) {
if (typeof relativeArg === "string") { if (typeof relativeArg === "string") {
return makeAbsolute(relativeArg); return makeAbsolute(relativeArg, baseArg);
} }
else if (Array.isArray(relativeArg)) { else if (Array.isArray(relativeArg)) {
var relativeArray = relativeArg; var relativeArray = relativeArg;
var absoluteArray; var absoluteArray = [];
for (var key in relativeArray) { for (var key in relativeArray) {
absoluteArray.push(makeAbsolute(relativeArray[key])); absoluteArray.push(makeAbsolute(relativeArray[key], baseArg));
} }
; ;
return absoluteArray; return absoluteArray;
@ -31,4 +31,4 @@ var absolute = function (relativeArg, baseArg) {
}; };
module.exports = absolute; module.exports = absolute;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0cGF0aC5hYnNvbHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsSUFBTyxPQUFPLFdBQVcscUJBQXFCLENBQUMsQ0FBQztBQUVoRCxJQUFJLFlBQVksR0FBRyxVQUFTLFlBQW1CLEVBQUUsT0FBZTtJQUM1RCxJQUFJLFlBQW1CLENBQUM7SUFDeEIsRUFBRSxDQUFBLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQztRQUNSLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0gsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxNQUFNLENBQUMsWUFBWSxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLElBQUksUUFBUSxHQUFHLFVBQVMsV0FBZSxFQUFFLE9BQWU7SUFDcEQsRUFBRSxDQUFBLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUEsQ0FBQztRQUNoQyxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBLENBQUM7UUFDbEMsSUFBSSxhQUFhLEdBQUcsV0FBVyxDQUFBO1FBQy9CLElBQUksYUFBc0IsQ0FBQztRQUMzQixHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGFBQWEsQ0FBQyxDQUFBLENBQUM7WUFDM0IsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQUEsQ0FBQztRQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsMERBQTBEO1lBQzlFLG1DQUFtQyxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNqQixDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsaUJBQVMsUUFBUSxDQUFDIiwiZmlsZSI6InNtYXJ0cGF0aC5hYnNvbHV0ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJ0eXBpbmdzL21haW4uZC50c1wiIC8+XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0cGF0aC5wbHVnaW5zXCIpO1xuXG52YXIgbWFrZUFic29sdXRlID0gZnVuY3Rpb24obG9jYWxQYXRoQXJnOnN0cmluZywgYmFzZUFyZz86c3RyaW5nKTpzdHJpbmcge1xuICAgIGxldCBhYnNvbHV0ZVBhdGg6c3RyaW5nO1xuICAgIGlmKGJhc2VBcmcpe1xuICAgICAgICBhYnNvbHV0ZVBhdGggPSBwbHVnaW5zLnBhdGguam9pbihiYXNlQXJnLGxvY2FsUGF0aEFyZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgIGFic29sdXRlUGF0aCA9IHBsdWdpbnMucGF0aC5yZXNvbHZlKGxvY2FsUGF0aEFyZyk7XG4gICAgfVxuICAgIHJldHVybiBhYnNvbHV0ZVBhdGg7XG59O1xuXG52YXIgYWJzb2x1dGUgPSBmdW5jdGlvbihyZWxhdGl2ZUFyZzphbnksIGJhc2VBcmc/OnN0cmluZyk6YW55IHtcbiAgICBpZih0eXBlb2YgcmVsYXRpdmVBcmcgPT09IFwic3RyaW5nXCIpe1xuICAgICAgICByZXR1cm4gbWFrZUFic29sdXRlKHJlbGF0aXZlQXJnKTtcbiAgICB9IGVsc2UgaWYoQXJyYXkuaXNBcnJheShyZWxhdGl2ZUFyZykpe1xuICAgICAgICBsZXQgcmVsYXRpdmVBcnJheSA9IHJlbGF0aXZlQXJnXG4gICAgICAgIGxldCBhYnNvbHV0ZUFycmF5OnN0cmluZ1tdO1xuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcmVsYXRpdmVBcnJheSl7XG4gICAgICAgICAgICBhYnNvbHV0ZUFycmF5LnB1c2gobWFrZUFic29sdXRlKHJlbGF0aXZlQXJyYXlba2V5XSkpO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYWJzb2x1dGVBcnJheTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5lcnJvcihcInNtYXJ0cGF0aC5hYnNvbHV0ZSgpIGNvdWxkIG5vdCBtYWtlIHNlbnNlIG9mIHRoZSBpbnB1dC4gXCIgK1xuICAgICAgICAgICAgXCJJbnB1dCBpcyBuZWl0aGVyIFN0cmluZyBub3IgQXJyYXlcIik7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59O1xuXG5leHBvcnQgPSBhYnNvbHV0ZTsiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0cGF0aC5hYnNvbHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsSUFBTyxPQUFPLFdBQVcscUJBQXFCLENBQUMsQ0FBQztBQUVoRCxJQUFJLFlBQVksR0FBRyxVQUFTLFlBQW1CLEVBQUUsT0FBZTtJQUM1RCxJQUFJLFlBQW1CLENBQUM7SUFDeEIsRUFBRSxDQUFBLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQztRQUNSLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0gsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxNQUFNLENBQUMsWUFBWSxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLElBQUksUUFBUSxHQUFHLFVBQVMsV0FBZSxFQUFFLE9BQWU7SUFDcEQsRUFBRSxDQUFBLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUEsQ0FBQztRQUNoQyxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQSxDQUFDO1FBQ2xDLElBQUksYUFBYSxHQUFHLFdBQVcsQ0FBQTtRQUMvQixJQUFJLGFBQWEsR0FBWSxFQUFFLENBQUM7UUFDaEMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQSxDQUFDO1lBQzNCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFBQSxDQUFDO1FBQ0YsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUN6QixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQywwREFBMEQ7WUFDOUUsbUNBQW1DLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixpQkFBUyxRQUFRLENBQUMiLCJmaWxlIjoic21hcnRwYXRoLmFic29sdXRlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cInR5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRwYXRoLnBsdWdpbnNcIik7XG5cbnZhciBtYWtlQWJzb2x1dGUgPSBmdW5jdGlvbihsb2NhbFBhdGhBcmc6c3RyaW5nLCBiYXNlQXJnPzpzdHJpbmcpOnN0cmluZyB7XG4gICAgbGV0IGFic29sdXRlUGF0aDpzdHJpbmc7XG4gICAgaWYoYmFzZUFyZyl7XG4gICAgICAgIGFic29sdXRlUGF0aCA9IHBsdWdpbnMucGF0aC5qb2luKGJhc2VBcmcsbG9jYWxQYXRoQXJnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICAgYWJzb2x1dGVQYXRoID0gcGx1Z2lucy5wYXRoLnJlc29sdmUobG9jYWxQYXRoQXJnKTtcbiAgICB9XG4gICAgcmV0dXJuIGFic29sdXRlUGF0aDtcbn07XG5cbnZhciBhYnNvbHV0ZSA9IGZ1bmN0aW9uKHJlbGF0aXZlQXJnOmFueSwgYmFzZUFyZz86c3RyaW5nKTphbnkge1xuICAgIGlmKHR5cGVvZiByZWxhdGl2ZUFyZyA9PT0gXCJzdHJpbmdcIil7XG4gICAgICAgIHJldHVybiBtYWtlQWJzb2x1dGUocmVsYXRpdmVBcmcsYmFzZUFyZyk7XG4gICAgfSBlbHNlIGlmKEFycmF5LmlzQXJyYXkocmVsYXRpdmVBcmcpKXtcbiAgICAgICAgbGV0IHJlbGF0aXZlQXJyYXkgPSByZWxhdGl2ZUFyZ1xuICAgICAgICBsZXQgYWJzb2x1dGVBcnJheTpzdHJpbmdbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcmVsYXRpdmVBcnJheSl7XG4gICAgICAgICAgICBhYnNvbHV0ZUFycmF5LnB1c2gobWFrZUFic29sdXRlKHJlbGF0aXZlQXJyYXlba2V5XSxiYXNlQXJnKSk7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBhYnNvbHV0ZUFycmF5O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKFwic21hcnRwYXRoLmFic29sdXRlKCkgY291bGQgbm90IG1ha2Ugc2Vuc2Ugb2YgdGhlIGlucHV0LiBcIiArXG4gICAgICAgICAgICBcIklucHV0IGlzIG5laXRoZXIgU3RyaW5nIG5vciBBcnJheVwiKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn07XG5cbmV4cG9ydCA9IGFic29sdXRlOyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==

View File

@ -25,6 +25,7 @@
"beautylog": "^3.1.2" "beautylog": "^3.1.2"
}, },
"devDependencies": { "devDependencies": {
"npmts": "^3.3.2" "npmts": "^3.3.2",
"should": "^8.2.2"
} }
} }

26
test/test.js Normal file
View File

@ -0,0 +1,26 @@
/// <reference path="../ts/typings/main.d.ts" />
var should = require("should");
var smartpath = require("../dist/index.js");
describe("smartpath", function () {
describe("absolute()", function () {
var baseString = "/basedir";
var relativeString = "somedir/somefile.txt";
var relativeString2 = "anotherdir/anotherfile.txt";
var relativeArray = [relativeString, relativeString, relativeString2];
it("should make a string absolute", function () {
smartpath.absolute(relativeString).should.startWith("/");
smartpath.absolute(relativeString).should.endWith(relativeString);
smartpath.absolute(relativeString, baseString).should.equal("/basedir/somedir/somefile.txt");
});
it("should make an array of relative Strings an Array of absolute Strings", function () {
var absoluteArray = smartpath.absolute(relativeArray);
absoluteArray[2].should.startWith("/");
absoluteArray[2].should.endWith(relativeString2);
});
it("should return false if neither String nor Array", function () {
smartpath.absolute(3).should.be.false();
});
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0RBQWdEO0FBQ2hELElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMvQixJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUU1QyxRQUFRLENBQUMsV0FBVyxFQUFDO0lBQ2pCLFFBQVEsQ0FBQyxZQUFZLEVBQUM7UUFDbEIsSUFBSSxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzNCLElBQUksY0FBYyxHQUFHLHNCQUFzQixDQUFDO1FBQzVDLElBQUksZUFBZSxHQUFHLDRCQUE0QixDQUFDO1FBQ25ELElBQUksYUFBYSxHQUFHLENBQUMsY0FBYyxFQUFDLGNBQWMsRUFBQyxlQUFlLENBQUMsQ0FBQztRQUNwRSxFQUFFLENBQUMsK0JBQStCLEVBQUM7WUFDL0IsU0FBUyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pELFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNsRSxTQUFTLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDaEcsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsdUVBQXVFLEVBQUM7WUFDdkUsSUFBSSxhQUFhLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN0RCxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVyRCxDQUFDLENBQUMsQ0FBQTtRQUNGLEVBQUUsQ0FBQyxpREFBaUQsRUFBQztZQUNqRCxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vdHMvdHlwaW5ncy9tYWluLmQudHNcIiAvPlxubGV0IHNob3VsZCA9IHJlcXVpcmUoXCJzaG91bGRcIik7XG5sZXQgc21hcnRwYXRoID0gcmVxdWlyZShcIi4uL2Rpc3QvaW5kZXguanNcIik7XG5cbmRlc2NyaWJlKFwic21hcnRwYXRoXCIsZnVuY3Rpb24oKXtcbiAgICBkZXNjcmliZShcImFic29sdXRlKClcIixmdW5jdGlvbigpe1xuICAgICAgICBsZXQgYmFzZVN0cmluZyA9IFwiL2Jhc2VkaXJcIlxuICAgICAgICBsZXQgcmVsYXRpdmVTdHJpbmcgPSBcInNvbWVkaXIvc29tZWZpbGUudHh0XCI7XG4gICAgICAgIGxldCByZWxhdGl2ZVN0cmluZzIgPSBcImFub3RoZXJkaXIvYW5vdGhlcmZpbGUudHh0XCI7XG4gICAgICAgIGxldCByZWxhdGl2ZUFycmF5ID0gW3JlbGF0aXZlU3RyaW5nLHJlbGF0aXZlU3RyaW5nLHJlbGF0aXZlU3RyaW5nMl07XG4gICAgICAgIGl0KFwic2hvdWxkIG1ha2UgYSBzdHJpbmcgYWJzb2x1dGVcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgc21hcnRwYXRoLmFic29sdXRlKHJlbGF0aXZlU3RyaW5nKS5zaG91bGQuc3RhcnRXaXRoKFwiL1wiKTtcbiAgICAgICAgICAgIHNtYXJ0cGF0aC5hYnNvbHV0ZShyZWxhdGl2ZVN0cmluZykuc2hvdWxkLmVuZFdpdGgocmVsYXRpdmVTdHJpbmcpO1xuICAgICAgICAgICAgc21hcnRwYXRoLmFic29sdXRlKHJlbGF0aXZlU3RyaW5nLGJhc2VTdHJpbmcpLnNob3VsZC5lcXVhbChcIi9iYXNlZGlyL3NvbWVkaXIvc29tZWZpbGUudHh0XCIpO1xuICAgICAgICB9KTtcbiAgICAgICAgaXQoXCJzaG91bGQgbWFrZSBhbiBhcnJheSBvZiByZWxhdGl2ZSBTdHJpbmdzIGFuIEFycmF5IG9mIGFic29sdXRlIFN0cmluZ3NcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgbGV0IGFic29sdXRlQXJyYXkgPSBzbWFydHBhdGguYWJzb2x1dGUocmVsYXRpdmVBcnJheSk7XG4gICAgICAgICAgICBhYnNvbHV0ZUFycmF5WzJdLnNob3VsZC5zdGFydFdpdGgoXCIvXCIpO1xuICAgICAgICAgICAgYWJzb2x1dGVBcnJheVsyXS5zaG91bGQuZW5kV2l0aChyZWxhdGl2ZVN0cmluZzIpO1xuXG4gICAgICAgIH0pXG4gICAgICAgIGl0KFwic2hvdWxkIHJldHVybiBmYWxzZSBpZiBuZWl0aGVyIFN0cmluZyBub3IgQXJyYXlcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgc21hcnRwYXRoLmFic29sdXRlKDMpLnNob3VsZC5iZS5mYWxzZSgpO1xuICAgICAgICB9KTtcbiAgICB9KVxufSk7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

1
test/test.js.map Normal file
View 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,IAAI,UAAU,GAAG,UAAU,CAAA;QAC3B,IAAI,cAAc,GAAG,sBAAsB,CAAC;QAC5C,IAAI,eAAe,GAAG,4BAA4B,CAAC;QACnD,IAAI,aAAa,GAAG,CAAC,cAAc,EAAC,cAAc,EAAC,eAAe,CAAC,CAAC;QACpE,EAAE,CAAC,+BAA+B,EAAC;YAC/B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACzD,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAClE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,uEAAuE,EAAC;YACvE,IAAI,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACtD,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACvC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAErD,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,iDAAiD,EAAC;YACjD,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAC"}

26
test/test.ts Normal file
View File

@ -0,0 +1,26 @@
/// <reference path="../ts/typings/main.d.ts" />
let should = require("should");
let smartpath = require("../dist/index.js");
describe("smartpath",function(){
describe("absolute()",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.absolute(relativeString).should.startWith("/");
smartpath.absolute(relativeString).should.endWith(relativeString);
smartpath.absolute(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.absolute(relativeArray);
absoluteArray[2].should.startWith("/");
absoluteArray[2].should.endWith(relativeString2);
})
it("should return false if neither String nor Array",function(){
smartpath.absolute(3).should.be.false();
});
})
});

View File

@ -8,8 +8,8 @@ import SmartpathAbsolute = require("./smartpath.absolute");
* @type {{getPath: (function(any): undefined)}} * @type {{getPath: (function(any): undefined)}}
*/ */
let smartpath = { let smartpath = {
absolute: SmartpathAbsolute
}; };
module.exports = smartpath; export = smartpath;

View File

@ -13,12 +13,12 @@ var makeAbsolute = function(localPathArg:string, baseArg?:string):string {
var absolute = function(relativeArg:any, baseArg?:string):any { var absolute = function(relativeArg:any, baseArg?:string):any {
if(typeof relativeArg === "string"){ if(typeof relativeArg === "string"){
return makeAbsolute(relativeArg); return makeAbsolute(relativeArg,baseArg);
} else if(Array.isArray(relativeArg)){ } else if(Array.isArray(relativeArg)){
let relativeArray = relativeArg let relativeArray = relativeArg
let absoluteArray:string[]; let absoluteArray:string[] = [];
for (let key in relativeArray){ for (let key in relativeArray){
absoluteArray.push(makeAbsolute(relativeArray[key])); absoluteArray.push(makeAbsolute(relativeArray[key],baseArg));
}; };
return absoluteArray; return absoluteArray;
} else { } else {

View File

@ -1,5 +1,6 @@
{ {
"ambientDependencies": { "ambientDependencies": {
"mocha": "github:DefinitelyTyped/DefinitelyTyped/mocha/mocha.d.ts#d6dd320291705694ba8e1a79497a908e9f5e6617",
"node": "github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts#efa0c1196d7280640e624ac1e7fa604502e7bd63" "node": "github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts#efa0c1196d7280640e624ac1e7fa604502e7bd63"
} }
} }