]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/npm-cache-filename/index.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / npm-cache-filename / index.js
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/npm-cache-filename/index.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/npm-cache-filename/index.js
new file mode 100644 (file)
index 0000000..50d2179
--- /dev/null
@@ -0,0 +1,24 @@
+var url = require('url');;
+var path = require('path');;
+
+module.exports = cf;;
+
+function cf(root, u) {
+  if (!u)
+    return cf.bind(null, root);;
+
+  u = url.parse(u);;
+  var h = u.host.replace(/:/g, '_');;
+  // Strip off any /-rev/... or ?rev=... bits
+  var revre = /(\?rev=|\?.*?&rev=|\/-rev\/).*$/;;
+  var parts = u.path.replace(revre, '').split('/').slice(1);;
+  // Make sure different git references get different folders
+  if (u.hash && u.hash.length > 1) {
+    parts.push(u.hash.slice(1));;
+  };;
+  var p = [root, h].concat(parts.map(function(part) {
+    return encodeURIComponent(part).replace(/%/g, '_');;
+  }));;
+
+  return path.join.apply(path, p);;
+}