/** * path.js - modify path string function. * * @license Copyright 2011 The xhrdavclient library authors. * All rights reserved. */ goog.provide('xhrdav.utils.path'); goog.require('goog.array'); goog.require('goog.string'); goog.require('goog.string.path'); /** * Remove last slash from path string. * * @param {string} path path string. * @return {string} converted new path. */ xhrdav.utils.path.removeLastSlash = function(path) { var converted = goog.string.endsWith(path, '/') ? path.slice(0, -1) || '/' : path; return converted; }; /** * Add last slash to path string. * * @param {string} path path string. * @return {string} converted new path. */ xhrdav.utils.path.addLastSlash = function(path) { var converted = goog.string.endsWith(path, '/') ? path : path + '/'; return converted; }; /** * Split path. * * @param {string} path path string. * @return {Array.<string>} split path list. */ xhrdav.utils.path.split = function(path) { var pathlist = goog.array.filter(path.split('/'), function(v, i) { return (!goog.string.isEmptySafe(v)); }); if (pathlist.length == 0) pathlist.push('/'); return pathlist; }; /* Entry point for closure compiler */ goog.exportSymbol('xhrdav.utils.path', xhrdav.utils.path); goog.exportSymbol('xhrdav.utils.path.removeLastSlash', xhrdav.utils.path.removeLastSlash); goog.exportSymbol('xhrdav.utils.path.addLastSlash', xhrdav.utils.path.addLastSlash); goog.exportSymbol('xhrdav.utils.path.split', xhrdav.utils.path.split);