diff options
author | Vincent Petry <pvince81@owncloud.com> | 2015-12-21 13:10:03 +0100 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2016-10-24 21:45:00 +0200 |
commit | 25d9dce067dcc068ceb554033b3ed164b8645555 (patch) | |
tree | ffd364bd89514f5712517ff30d8029315d7a4847 /core/js/js.js | |
parent | 59c5be1cc572793a8d50e87ab589e1cc4cf2ed12 (diff) | |
download | nextcloud-server-25d9dce067dcc068ceb554033b3ed164b8645555.tar.gz nextcloud-server-25d9dce067dcc068ceb554033b3ed164b8645555.zip |
JS utility function to compare paths
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'core/js/js.js')
-rw-r--r-- | core/js/js.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/core/js/js.js b/core/js/js.js index 16da273c8e1..0db9967094b 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -423,6 +423,28 @@ var OC={ }, /** + * Returns whether the given paths are the same, without + * leading, trailing or doubled slashes and also removing + * the dot sections. + * + * @param {String} path1 first path + * @param {String} path2 second path + * @return {bool} true if the paths are the same + * + * @since 9.0 + */ + isSamePath: function(path1, path2) { + var filterDot = function(p) { + return p !== '.'; + }; + var pathSections1 = _.filter((path1 || '').split('/'), filterDot); + var pathSections2 = _.filter((path2 || '').split('/'), filterDot); + path1 = OC.joinPaths.apply(OC, pathSections1); + path2 = OC.joinPaths.apply(OC, pathSections2); + return path1 === path2; + }, + + /** * Join path sections * * @param {...String} path sections |