@mkeen/rxcouch
Version:
Real Time RxJs Based CouchDB Client
85 lines • 3.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CouchUrls = void 0;
var types_1 = require("./types");
var CouchUrls;
(function (CouchUrls) {
function design(config, designName, designTypeName, designType, options) {
if (designType === void 0) { designType = 'view'; }
var base = prefix(config) + "/" + config[types_1.DATABASE_NAME] + "/_design/" + designName + "/_" + designType + "/" + designTypeName;
if (options) {
base += '?';
for (var name_1 in options) {
if (options.hasOwnProperty(name_1)) {
base += name_1 + "=" + options[name_1] + "&";
}
}
base = base.substring(0, base.length - 1);
}
return base;
}
CouchUrls.design = design;
function document(config, docId) {
var url = prefix(config) + "/" + config[types_1.DATABASE_NAME];
if (docId) {
url += "/" + docId;
}
return url;
}
CouchUrls.document = document;
function documentDelete(config) {
var url = prefix(config) + "/" + config[types_1.DATABASE_NAME] + "/_bulk_docs";
return url;
}
CouchUrls.documentDelete = documentDelete;
function prefix(config) {
return (config[types_1.SSL] ? 'https' : 'http') + "://" + config[types_1.HOST] + ":" + config[types_1.PORT];
}
CouchUrls.prefix = prefix;
function watch(config) {
return prefix(config) + "/" + config[types_1.DATABASE_NAME] + "/_changes?include_docs=true&feed=continuous&filter=_doc_ids&since=now";
}
CouchUrls.watch = watch;
function authenticate(config) {
return prefix(config) + "/_session";
}
CouchUrls.authenticate = authenticate;
function find(config) {
return prefix(config) + "/" + config[types_1.DATABASE_NAME] + "/_find";
}
CouchUrls.find = find;
function user(config, username, namespace) {
if (namespace === void 0) { namespace = "org.couchdb.user:"; }
return prefix(config) + "/_users/" + namespace + username;
}
CouchUrls.user = user;
function session(config) {
return prefix(config) + "/_session";
}
CouchUrls.session = session;
function changes(config) {
return prefix(config) + "/" + config[types_1.DATABASE_NAME] + "/_changes?include_docs=true&feed=continuous&since=now";
}
CouchUrls.changes = changes;
function changesWithIds(config) {
return prefix(config) + "/" + config[types_1.DATABASE_NAME] + "/_changes?feed=continuous&include_docs=true&since=now&filter=_doc_ids";
}
CouchUrls.changesWithIds = changesWithIds;
function database(config, newDbName) {
return prefix(config) + "/" + newDbName;
}
CouchUrls.database = database;
function databaseSecurity(config, newDbName) {
return database(config, newDbName) + "/_security";
}
CouchUrls.databaseSecurity = databaseSecurity;
function uuids(config, count) {
return prefix(config) + "/_uuids?count=" + count;
}
CouchUrls.uuids = uuids;
function _all_docs(config) {
return prefix(config) + "/" + config[types_1.DATABASE_NAME] + "/_all_docs";
}
CouchUrls._all_docs = _all_docs;
})(CouchUrls = exports.CouchUrls || (exports.CouchUrls = {}));
//# sourceMappingURL=couchurls.js.map