/**
* 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);