From 8a2afe1a8168539983b2ecd920a7fe2c9a4d1e21 Mon Sep 17 00:00:00 2001 From: PhilKunz Date: Sat, 12 Mar 2016 09:36:30 +0100 Subject: [PATCH] add travis --- .travis.yml | 16 ++++++++-------- README.md | 4 ++++ dist/index.js | 7 +++++-- dist/smartpath.absolute.js | 8 ++++---- package.json | 3 ++- test/test.js | 26 ++++++++++++++++++++++++++ test/test.js.map | 1 + test/test.ts | 26 ++++++++++++++++++++++++++ ts/index.ts | 4 ++-- ts/smartpath.absolute.ts | 6 +++--- ts/typings.json | 1 + 11 files changed, 82 insertions(+), 20 deletions(-) create mode 100644 test/test.js create mode 100644 test/test.js.map create mode 100644 test/test.ts diff --git a/.travis.yml b/.travis.yml index 97951a6..a8d4cf0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,16 @@ language: node_js before_install: - - nvm install stable - - node -v - - npm -v - - npm install -g gulp - - npm install gulp - - npm install gulp-typescript +- nvm install stable +- node -v +- npm -v +- npm install -g gulp +- npm install gulp +- npm install gulp-typescript deploy: provider: npm - email: npm@smart-coordination.com + email: npm@lossless.digital 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: tags: true repo: pushrocks/smartpath diff --git a/README.md b/README.md index 5761ac8..e13a4f6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # smartpath offers smart ways to handle paths + +## Status + +## Documentation diff --git a/dist/index.js b/dist/index.js index bb1bf43..f4fdd8f 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,8 +1,11 @@ +var SmartpathAbsolute = require("./smartpath.absolute"); /** * * @type {{getPath: (function(any): undefined)}} */ -var smartpath = {}; +var smartpath = { + absolute: SmartpathAbsolute +}; module.exports = smartpath; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBOzs7R0FHRztBQUNILElBQUksU0FBUyxHQUFHLEVBRWYsQ0FBQztBQUdGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cInR5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRwYXRoLnBsdWdpbnNcIik7XG5pbXBvcnQgU21hcnRwYXRoQWJzb2x1dGUgPSByZXF1aXJlKFwiLi9zbWFydHBhdGguYWJzb2x1dGVcIik7XG5cblxuLyoqXG4gKlxuICogQHR5cGUge3tnZXRQYXRoOiAoZnVuY3Rpb24oYW55KTogdW5kZWZpbmVkKX19XG4gKi9cbmxldCBzbWFydHBhdGggPSB7XG5cbn07XG5cblxubW9kdWxlLmV4cG9ydHMgPSBzbWFydHBhdGg7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLElBQU8saUJBQWlCLFdBQVcsc0JBQXNCLENBQUMsQ0FBQztBQUczRDs7O0dBR0c7QUFDSCxJQUFJLFNBQVMsR0FBRztJQUNaLFFBQVEsRUFBRSxpQkFBaUI7Q0FDOUIsQ0FBQztBQUdGLGlCQUFTLFNBQVMsQ0FBQyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJ0eXBpbmdzL21haW4uZC50c1wiIC8+XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0cGF0aC5wbHVnaW5zXCIpO1xuaW1wb3J0IFNtYXJ0cGF0aEFic29sdXRlID0gcmVxdWlyZShcIi4vc21hcnRwYXRoLmFic29sdXRlXCIpO1xuXG5cbi8qKlxuICpcbiAqIEB0eXBlIHt7Z2V0UGF0aDogKGZ1bmN0aW9uKGFueSk6IHVuZGVmaW5lZCl9fVxuICovXG5sZXQgc21hcnRwYXRoID0ge1xuICAgIGFic29sdXRlOiBTbWFydHBhdGhBYnNvbHV0ZVxufTtcblxuXG5leHBvcnQgPSBzbWFydHBhdGg7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= diff --git a/dist/smartpath.absolute.js b/dist/smartpath.absolute.js index 3f3a396..056aac3 100644 --- a/dist/smartpath.absolute.js +++ b/dist/smartpath.absolute.js @@ -12,13 +12,13 @@ var makeAbsolute = function (localPathArg, baseArg) { }; var absolute = function (relativeArg, baseArg) { if (typeof relativeArg === "string") { - return makeAbsolute(relativeArg); + return makeAbsolute(relativeArg, baseArg); } else if (Array.isArray(relativeArg)) { var relativeArray = relativeArg; - var absoluteArray; + var absoluteArray = []; for (var key in relativeArray) { - absoluteArray.push(makeAbsolute(relativeArray[key])); + absoluteArray.push(makeAbsolute(relativeArray[key], baseArg)); } ; return absoluteArray; @@ -31,4 +31,4 @@ var absolute = function (relativeArg, baseArg) { }; module.exports = absolute; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0cGF0aC5hYnNvbHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsSUFBTyxPQUFPLFdBQVcscUJBQXFCLENBQUMsQ0FBQztBQUVoRCxJQUFJLFlBQVksR0FBRyxVQUFTLFlBQW1CLEVBQUUsT0FBZTtJQUM1RCxJQUFJLFlBQW1CLENBQUM7SUFDeEIsRUFBRSxDQUFBLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQztRQUNSLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0gsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxNQUFNLENBQUMsWUFBWSxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLElBQUksUUFBUSxHQUFHLFVBQVMsV0FBZSxFQUFFLE9BQWU7SUFDcEQsRUFBRSxDQUFBLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUEsQ0FBQztRQUNoQyxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBLENBQUM7UUFDbEMsSUFBSSxhQUFhLEdBQUcsV0FBVyxDQUFBO1FBQy9CLElBQUksYUFBc0IsQ0FBQztRQUMzQixHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGFBQWEsQ0FBQyxDQUFBLENBQUM7WUFDM0IsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQUEsQ0FBQztRQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsMERBQTBEO1lBQzlFLG1DQUFtQyxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNqQixDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsaUJBQVMsUUFBUSxDQUFDIiwiZmlsZSI6InNtYXJ0cGF0aC5hYnNvbHV0ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJ0eXBpbmdzL21haW4uZC50c1wiIC8+XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0cGF0aC5wbHVnaW5zXCIpO1xuXG52YXIgbWFrZUFic29sdXRlID0gZnVuY3Rpb24obG9jYWxQYXRoQXJnOnN0cmluZywgYmFzZUFyZz86c3RyaW5nKTpzdHJpbmcge1xuICAgIGxldCBhYnNvbHV0ZVBhdGg6c3RyaW5nO1xuICAgIGlmKGJhc2VBcmcpe1xuICAgICAgICBhYnNvbHV0ZVBhdGggPSBwbHVnaW5zLnBhdGguam9pbihiYXNlQXJnLGxvY2FsUGF0aEFyZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgIGFic29sdXRlUGF0aCA9IHBsdWdpbnMucGF0aC5yZXNvbHZlKGxvY2FsUGF0aEFyZyk7XG4gICAgfVxuICAgIHJldHVybiBhYnNvbHV0ZVBhdGg7XG59O1xuXG52YXIgYWJzb2x1dGUgPSBmdW5jdGlvbihyZWxhdGl2ZUFyZzphbnksIGJhc2VBcmc/OnN0cmluZyk6YW55IHtcbiAgICBpZih0eXBlb2YgcmVsYXRpdmVBcmcgPT09IFwic3RyaW5nXCIpe1xuICAgICAgICByZXR1cm4gbWFrZUFic29sdXRlKHJlbGF0aXZlQXJnKTtcbiAgICB9IGVsc2UgaWYoQXJyYXkuaXNBcnJheShyZWxhdGl2ZUFyZykpe1xuICAgICAgICBsZXQgcmVsYXRpdmVBcnJheSA9IHJlbGF0aXZlQXJnXG4gICAgICAgIGxldCBhYnNvbHV0ZUFycmF5OnN0cmluZ1tdO1xuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcmVsYXRpdmVBcnJheSl7XG4gICAgICAgICAgICBhYnNvbHV0ZUFycmF5LnB1c2gobWFrZUFic29sdXRlKHJlbGF0aXZlQXJyYXlba2V5XSkpO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYWJzb2x1dGVBcnJheTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5lcnJvcihcInNtYXJ0cGF0aC5hYnNvbHV0ZSgpIGNvdWxkIG5vdCBtYWtlIHNlbnNlIG9mIHRoZSBpbnB1dC4gXCIgK1xuICAgICAgICAgICAgXCJJbnB1dCBpcyBuZWl0aGVyIFN0cmluZyBub3IgQXJyYXlcIik7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59O1xuXG5leHBvcnQgPSBhYnNvbHV0ZTsiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0cGF0aC5hYnNvbHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsSUFBTyxPQUFPLFdBQVcscUJBQXFCLENBQUMsQ0FBQztBQUVoRCxJQUFJLFlBQVksR0FBRyxVQUFTLFlBQW1CLEVBQUUsT0FBZTtJQUM1RCxJQUFJLFlBQW1CLENBQUM7SUFDeEIsRUFBRSxDQUFBLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQztRQUNSLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0gsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxNQUFNLENBQUMsWUFBWSxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLElBQUksUUFBUSxHQUFHLFVBQVMsV0FBZSxFQUFFLE9BQWU7SUFDcEQsRUFBRSxDQUFBLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUEsQ0FBQztRQUNoQyxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQSxDQUFDO1FBQ2xDLElBQUksYUFBYSxHQUFHLFdBQVcsQ0FBQTtRQUMvQixJQUFJLGFBQWEsR0FBWSxFQUFFLENBQUM7UUFDaEMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQSxDQUFDO1lBQzNCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFBQSxDQUFDO1FBQ0YsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUN6QixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQywwREFBMEQ7WUFDOUUsbUNBQW1DLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixpQkFBUyxRQUFRLENBQUMiLCJmaWxlIjoic21hcnRwYXRoLmFic29sdXRlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cInR5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRwYXRoLnBsdWdpbnNcIik7XG5cbnZhciBtYWtlQWJzb2x1dGUgPSBmdW5jdGlvbihsb2NhbFBhdGhBcmc6c3RyaW5nLCBiYXNlQXJnPzpzdHJpbmcpOnN0cmluZyB7XG4gICAgbGV0IGFic29sdXRlUGF0aDpzdHJpbmc7XG4gICAgaWYoYmFzZUFyZyl7XG4gICAgICAgIGFic29sdXRlUGF0aCA9IHBsdWdpbnMucGF0aC5qb2luKGJhc2VBcmcsbG9jYWxQYXRoQXJnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICAgYWJzb2x1dGVQYXRoID0gcGx1Z2lucy5wYXRoLnJlc29sdmUobG9jYWxQYXRoQXJnKTtcbiAgICB9XG4gICAgcmV0dXJuIGFic29sdXRlUGF0aDtcbn07XG5cbnZhciBhYnNvbHV0ZSA9IGZ1bmN0aW9uKHJlbGF0aXZlQXJnOmFueSwgYmFzZUFyZz86c3RyaW5nKTphbnkge1xuICAgIGlmKHR5cGVvZiByZWxhdGl2ZUFyZyA9PT0gXCJzdHJpbmdcIil7XG4gICAgICAgIHJldHVybiBtYWtlQWJzb2x1dGUocmVsYXRpdmVBcmcsYmFzZUFyZyk7XG4gICAgfSBlbHNlIGlmKEFycmF5LmlzQXJyYXkocmVsYXRpdmVBcmcpKXtcbiAgICAgICAgbGV0IHJlbGF0aXZlQXJyYXkgPSByZWxhdGl2ZUFyZ1xuICAgICAgICBsZXQgYWJzb2x1dGVBcnJheTpzdHJpbmdbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcmVsYXRpdmVBcnJheSl7XG4gICAgICAgICAgICBhYnNvbHV0ZUFycmF5LnB1c2gobWFrZUFic29sdXRlKHJlbGF0aXZlQXJyYXlba2V5XSxiYXNlQXJnKSk7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBhYnNvbHV0ZUFycmF5O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKFwic21hcnRwYXRoLmFic29sdXRlKCkgY291bGQgbm90IG1ha2Ugc2Vuc2Ugb2YgdGhlIGlucHV0LiBcIiArXG4gICAgICAgICAgICBcIklucHV0IGlzIG5laXRoZXIgU3RyaW5nIG5vciBBcnJheVwiKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn07XG5cbmV4cG9ydCA9IGFic29sdXRlOyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== diff --git a/package.json b/package.json index b79ea74..66aec27 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "beautylog": "^3.1.2" }, "devDependencies": { - "npmts": "^3.3.2" + "npmts": "^3.3.2", + "should": "^8.2.2" } } diff --git a/test/test.js b/test/test.js new file mode 100644 index 0000000..00711d1 --- /dev/null +++ b/test/test.js @@ -0,0 +1,26 @@ +/// +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= diff --git a/test/test.js.map b/test/test.js.map new file mode 100644 index 0000000..b8b146b --- /dev/null +++ b/test/test.js.map @@ -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"} \ No newline at end of file diff --git a/test/test.ts b/test/test.ts new file mode 100644 index 0000000..696fe5a --- /dev/null +++ b/test/test.ts @@ -0,0 +1,26 @@ +/// +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(); + }); + }) +}); diff --git a/ts/index.ts b/ts/index.ts index faf51fb..93bbda9 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -8,8 +8,8 @@ import SmartpathAbsolute = require("./smartpath.absolute"); * @type {{getPath: (function(any): undefined)}} */ let smartpath = { - + absolute: SmartpathAbsolute }; -module.exports = smartpath; +export = smartpath; diff --git a/ts/smartpath.absolute.ts b/ts/smartpath.absolute.ts index 1b1de8f..8aebeed 100644 --- a/ts/smartpath.absolute.ts +++ b/ts/smartpath.absolute.ts @@ -13,12 +13,12 @@ var makeAbsolute = function(localPathArg:string, baseArg?:string):string { var absolute = function(relativeArg:any, baseArg?:string):any { if(typeof relativeArg === "string"){ - return makeAbsolute(relativeArg); + return makeAbsolute(relativeArg,baseArg); } else if(Array.isArray(relativeArg)){ let relativeArray = relativeArg - let absoluteArray:string[]; + let absoluteArray:string[] = []; for (let key in relativeArray){ - absoluteArray.push(makeAbsolute(relativeArray[key])); + absoluteArray.push(makeAbsolute(relativeArray[key],baseArg)); }; return absoluteArray; } else { diff --git a/ts/typings.json b/ts/typings.json index 0607e83..ded7db2 100644 --- a/ts/typings.json +++ b/ts/typings.json @@ -1,5 +1,6 @@ { "ambientDependencies": { + "mocha": "github:DefinitelyTyped/DefinitelyTyped/mocha/mocha.d.ts#d6dd320291705694ba8e1a79497a908e9f5e6617", "node": "github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts#efa0c1196d7280640e624ac1e7fa604502e7bd63" } }