diff --git a/package-lock.json b/package-lock.json index f30e108..6a1b634 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8679,6 +8679,11 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, + "querystringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", + "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=" + }, "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", @@ -10720,6 +10725,22 @@ "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.2.tgz", "integrity": "sha1-wHJ1aWetJLi1nldBVRyqx49QuLc=" }, + "url-parse": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", + "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", + "requires": { + "querystringify": "1.0.0", + "requires-port": "1.0.0" + }, + "dependencies": { + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + } + } + }, "util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", diff --git a/package.json b/package.json index f75c211..3f1ea74 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,8 @@ "pouchdb-extend": "0.1.2", "pouchdb-promise": "6.3.4", "pouchdb-utils": "6.3.4", - "url-join": "2.0.2" + "url-join": "2.0.2", + "url-parse": "1.2.0" }, "devDependencies": { "babel-preset-env": "^1.6.1", diff --git a/src/utils.js b/src/utils.js index a32d417..13eba49 100644 --- a/src/utils.js +++ b/src/utils.js @@ -1,14 +1,15 @@ 'use strict'; import urlJoin from 'url-join'; +import urlParse from 'url-parse'; function getBaseUrl(db) { if (typeof db.getUrl === 'function') { // pouchdb pre-6.0.0 - return db.getUrl().replace(/[^/]+\/?$/, ''); + return urlParse(db.getUrl()).origin; } else if (db.__opts && db.__opts.prefix) { // PouchDB.defaults return db.__opts.prefix; } else { // pouchdb post-6.0.0 - return db.name.replace(/[^/]+\/?$/, ''); + return urlParse(db.name).origin; } }