You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by gl...@apache.org on 2021/01/12 13:54:05 UTC
[couchdb-nano] 01/04: more verbose TypeScript descriptions and links
This is an automated email from the ASF dual-hosted git repository.
glynnbird pushed a commit to branch 9.0.2prep
in repository https://gitbox.apache.org/repos/asf/couchdb-nano.git
commit a71752e98f3ba2b6b87d0ac21363316590279327
Author: Glynn Bird <gl...@apache.org>
AuthorDate: Mon Jan 11 17:01:33 2021 +0000
more verbose TypeScript descriptions and links
---
lib/nano.d.ts | 473 ++++++++++++++++++++++++++++++++++++++++++----------------
1 file changed, 341 insertions(+), 132 deletions(-)
diff --git a/lib/nano.d.ts b/lib/nano.d.ts
index 3f21d25..857a9d8 100644
--- a/lib/nano.d.ts
+++ b/lib/nano.d.ts
@@ -20,29 +20,47 @@
import { EventEmitter } from "events";
+/** nano entry function */
declare function nano(
config: nano.Configuration | string
): nano.ServerScope;
declare namespace nano {
+ /** RequestDefaults.auth options */
interface RequestDefaultOptionsAuth {
username: string,
password: string
}
+
+ /** RequestDefaults options */
interface RequestDefaultsOptions {
- timeout: number;
- agent: any;
- headers: object;
- auth: RequestDefaultOptionsAuth;
+ timeout?: number;
+ agent?: any;
+ headers?: object;
+ auth?: RequestDefaultOptionsAuth;
+ jar?: boolean;
}
+ /** Nano configuration */
interface Configuration {
+ /** The URL of the CouchDB service, including username and password if required e.g.
+ * http://username:password@hostname:port
+ */
url: string;
+ /** For cookie authentication */
cookie?: string;
+ /** HTTP request options
+ * @see README: {@link https://www.npmjs.com/package/nano#pool-size-and-open-sockets}
+ */
requestDefaults?: RequestDefaultsOptions;
+ /** Logging function
+ * @see README: {@link https://www.npmjs.com/package/nano#logging}
+ */
log?(id: string, args: any): void;
+ /** Set to false to prevent parsing of url
+ * @see README: {@link https://www.npmjs.com/package/nano#configuration}
+ */
parseUrl?: boolean;
- request?(params: any): void;
}
type Callback<R> = (error: RequestError | null, response: R, headers?: any) => void;
@@ -71,24 +89,63 @@ declare namespace nano {
description?: string;
}
+ /** Server scope */
interface ServerScope {
+ /**
+ * An object containing the nano configurations.
+ * @see README: {@link https://www.npmjs.com/package/nano#nanoconfig}
+ */
readonly config: ServerConfig;
db: DatabaseScope;
+ /**
+ * Returns a database object that allows you to perform operations against that database.
+ * @see README: {@link https://www.npmjs.com/package/nano#nanousename}
+ */
use<D>(db: string): DocumentScope<D>;
+ /**
+ * Returns a database object that allows you to perform operations against that database.
+ * @see README: {@link https://www.npmjs.com/package/nano#nanoscopename}
+ */
scope<D>(db: string): DocumentScope<D>;
+ /**
+ * Initiates a custom request
+ * @see README: {@link https://www.npmjs.com/package/nano#nanorequestopts-callback}
+ **/
request(opts: RequestOptions | string, callback?: Callback<any>): Promise<any>;
+ /**
+ * Initiates a custom request
+ * @see README: {@link https://www.npmjs.com/package/nano#nanorequestopts-callback}
+ **/
relax(opts: RequestOptions | string, callback?: Callback<any>): Promise<any>;
+ /**
+ * Initiates a custom request
+ * @see README: {@link https://www.npmjs.com/package/nano#nanorequestopts-callback}
+ **/
dinosaur(opts: RequestOptions | string, callback?: Callback<any>): Promise<any>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/authn.html#cookie-authentication} */
+ /**
+ * Initiates new session for specified user credentials by providing Cookie value.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/authn.html#cookie-authentication} */
auth(username: string, userpass: string, callback?: Callback<DatabaseAuthResponse>): Promise<DatabaseAuthResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/authn.html#get--_session} */
+ /**
+ * Returns information about the authenticated user, including a User Context Object, the authentication method and database that were used, and a list of configured authentication handlers on the server.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/authn.html#get--_session} */
session(callback?: Callback<DatabaseSessionResponse>): Promise<DatabaseSessionResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
+ /**
+ * Returns a list of all database events in the CouchDB instance.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
updates(callback?: Callback<DatabaseUpdatesResponse>): Promise<DatabaseUpdatesResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
+ /**
+ * Returns a list of all database events in the CouchDB instance.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
updates(params: UpdatesParams, callback?: Callback<DatabaseUpdatesResponse>): Promise<DatabaseUpdatesResponse>;
- uuids(num: number, callback?: Callback<any>): Promise<UUIDObject>;
- /** @see {@link https://docs.couchdb.org/en/stable/api/server/common.html#api-server-root} */
+ /**
+ * Requests one or more Universally Unique Identifiers (UUIDs) from the CouchDB instance.
+ * @see Docs: {@link https://docs.couchdb.org/en/stable/api/server/common.html#uuids}
+ */
+ uuids(num?: number, callback?: Callback<any>): Promise<UUIDObject>;
+ /**
+ * Accessing the root of a CouchDB instance returns meta information about the instance.
+ * @see Docs: {@link https://docs.couchdb.org/en/stable/api/server/common.html#api-server-root} */
info(callback?: Callback<InfoResponse>): Promise<InfoResponse>;
}
@@ -96,7 +153,9 @@ declare namespace nano {
uuids: string[];
}
- /** @see {@link https://docs.couchdb.org/en/stable/api/server/common.html#api-server-root} */
+ /**
+ * Response to CouchDB root API call - cluster information.
+ * @see Docs: {@link https://docs.couchdb.org/en/stable/api/server/common.html#api-server-root} */
interface InfoResponse {
couchdb: string;
version: string;
@@ -106,59 +165,83 @@ declare namespace nano {
vendor: { name: string }
}
+ /**
+ * Database creation options
+ * @see Docs: {@link https://docs.couchdb.org/en/stable/api/database/common.html#put--db} */
interface DatabaseCreateParams {
n?: number;
partitioned?: boolean;
q?: number;
}
+ /** Database scope */
interface DatabaseScope {
replication: {
enable(source: string, target: string, opts0: object, callback0?: Callback<DatabaseCreateResponse>): Promise<DatabaseCreateResponse>;
disable(id:string, rev: string, opts0: object, callback0?: Callback<DatabaseCreateResponse>): Promise<DatabaseCreateResponse>;
query(id: string, opts0: object, callback0?: Callback<DatabaseGetResponse>): Promise<DatabaseGetResponse>;
};
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/common.html#put--db} */
+ /**
+ * Create database.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/common.html#put--db} */
create(name: string, params?: DatabaseCreateParams, callback?: Callback<DatabaseCreateResponse>): Promise<DatabaseCreateResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/common.html#get--db} */
+ /** Get database information.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/common.html#get--db} */
get(name: string, callback?: Callback<DatabaseGetResponse>): Promise<DatabaseGetResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/common.html#delete--db} */
+ /** Delete database.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/common.html#delete--db} */
destroy(name: string, callback?: Callback<OkResponse>): Promise<OkResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_all_dbs} */
+ /** List databases.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_all_dbs} */
list(callback?: Callback<string[]>): Promise<string[]>;
+ /** List databases as a stream.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_all_dbs} */
listAsStream(): NodeJS.ReadStream;
+ /** Use a specific database.
+ * @see README: {@link https://www.npmjs.com/package/nano#nanousename} */
use<D>(db: string): DocumentScope<D>;
+ /** Request compaction on a database.
+ * @see Docs: {@link https://docs.couchdb.org/en/stable/api/database/compact.html} */
compact(name: string, callback?: Callback<OkResponse>): Promise<OkResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/compact.html#post--db-_compact} */
+ /** Request compaction of a database's view indexes.
+ * @see Docs: {@link https://docs.couchdb.org/en/stable/api/database/compact.html} */
compact(name: string, designname: string, callback?: Callback<OkResponse>): Promise<OkResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
+ /** Request a replication operation.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
replicate<D>(
source: string | DocumentScope<D>,
target: string | DocumentScope<D>,
callback?: Callback<DatabaseReplicateResponse>
): Promise<DatabaseReplicateResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
+ /** Reqiest a replication
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
replicate<D>(
source: string | DocumentScope<D>,
target: string | DocumentScope<D>,
options: DatabaseReplicateOptions,
callback?: Callback<DatabaseReplicateResponse>
): Promise<DatabaseReplicateResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
+ /** Return sorted list of changes to a database.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
changes(name: string, callback?: Callback<DatabaseChangesResponse>): Promise<DatabaseChangesResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/compact.html#post--db-_compact} */
+ /** Return sorted list of changes to a database with options.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/compact.html#post--db-_compact} */
changes(name: string, params: DatabaseChangesParams, callback?: Callback<DatabaseChangesResponse>): Promise<DatabaseChangesResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
+ /** Return sorted list of changes to a database as a stream.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
changesAsStream(name: string): NodeJS.ReadStream;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/compact.html#post--db-_compact} */
+ /** Return sorted list of changes to a database with options as a stream.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/compact.html#post--db-_compact} */
changesAsStream(name: string, params: DatabaseChangesParams): NodeJS.ReadStream;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
+ /** Return a list of all database events.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
updates(callback?: Callback<DatabaseUpdatesResponse>): Promise<DatabaseUpdatesResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
+ /** Return a list of all database event with options
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
updates(params: UpdatesParams, callback?: Callback<DatabaseUpdatesResponse>): Promise<DatabaseUpdatesResponse>;
}
-
+ /** ChangesReader options */
interface ChangesReaderOptions {
/** number of changes per API call */
batchSize?: number;
@@ -178,6 +261,7 @@ declare namespace nano {
selector?: MangoSelector;
}
+ /** ChangesReader functions */
interface ChangesReaderScope {
/** fetch changes forever */
start(opts: ChangesReaderOptions): EventEmitter;
@@ -189,90 +273,128 @@ declare namespace nano {
stop(): void;
}
+ /** Documents scope */
interface DocumentScope<D> {
+ /**
+ * An object containing the nano configurations.
+ * @see README: {@link https://www.npmjs.com/package/nano#nanoconfig} */
readonly config: ServerConfig;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/common.html#get--db} */
+ /** Get database info
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/common.html#get--db} */
info(callback?: Callback<DatabaseGetResponse>): Promise<DatabaseGetResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
+ /** Request a replication opertation with this datbase as the target.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
replicate<D>(
target: string | DocumentScope<D>,
callback?: Callback<DatabaseReplicateResponse>
): Promise<DatabaseReplicateResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
+ /** Request a replication opertation with this datbase as the target with options.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
replicate(
target: string | DocumentScope<D>,
options: any,
callback?: Callback<DatabaseReplicateResponse>
): Promise<DatabaseReplicateResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/compact.html#post--db-_compact} */
+ /** Request compaction on this database.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/compact.html#post--db-_compact} */
compact(callback?: Callback<OkResponse>): Promise<OkResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
+ /** Return sorted list of changes to this database.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
changes(callback?: Callback<DatabaseChangesResponse>): Promise<DatabaseChangesResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
+ /** Return sorted list of changes to this database with options.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
changes(params: DatabaseChangesParams, callback?: Callback<DatabaseChangesResponse>): Promise<DatabaseChangesResponse>;
+ /** Changes feed follower.
+ * @see README: {@link https://www.npmjs.com/package/nano#reading-changes-feed} */
changesReader: ChangesReaderScope;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/authn.html#cookie-authentication} */
+ /** Initiates new session for specified user credentials by providing Cookie value.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/authn.html#cookie-authentication} */
auth(username: string, userpass: string, callback?: Callback<DatabaseAuthResponse>): Promise<DatabaseAuthResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/authn.html#get--_session} */
+ /** Returns information about the authenticated user, including a User Context Object, the authentication method and database that were used, and a list of configured authentication handlers on the server.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/authn.html#get--_session} */
session(callback?: Callback<DatabaseSessionResponse>): Promise<DatabaseSessionResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/common.html#post--db}
- * @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#put--db-docid} */
+ /** Insert a document into this database.
+ * @see POST Docs: {@link http://docs.couchdb.org/en/latest/api/database/common.html#post--db}
+ * @see PUT Docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#put--db-docid} */
insert(document: ViewDocument<D> | D & MaybeDocument, callback?: Callback<DocumentInsertResponse>): Promise<DocumentInsertResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/common.html#post--db}
- * @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#put--db-docid} */
+ /**
+ * Insert a document into this database with options.
+ * @see POST Docs: {@link http://docs.couchdb.org/en/latest/api/database/common.html#post--db}
+ * @see PUT Docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#put--db-docid} */
insert(
document: ViewDocument<D> | D & MaybeDocument,
params: DocumentInsertParams | string | null,
callback?: Callback<DocumentInsertResponse>
): Promise<DocumentInsertResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#get--db-docid} */
+ /** Fetch a document from this database.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#get--db-docid} */
get(docname: string, callback?: Callback<DocumentGetResponse & D>): Promise<DocumentGetResponse & D>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#get--db-docid} */
+ /** Fetch a document from this database with options.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#get--db-docid} */
get(docname: string, params?: DocumentGetParams, callback?: Callback<DocumentGetResponse & D>): Promise<DocumentGetResponse & D>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#head--db-docid} */
+ /** Fetch document meta data, useful for fetching a document's current revision.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#head--db-docid} */
head(docname: string, callback?: Callback<any>): Promise<any>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#delete--db-docid} */
+ /** Delete a document from this database.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#delete--db-docid} */
destroy(docname: string, rev: string, callback?: Callback<DocumentDestroyResponse>): Promise<DocumentDestroyResponse>;
+ /** Bulk insert/update/delete multiple documents in this database.
+ * @see Docs: {@link https://docs.couchdb.org/en/stable/api/database/bulk-api.html#db-bulk-docs} */
bulk(docs: BulkModifyDocsWrapper, callback?: Callback<DocumentBulkResponse[]>): Promise<DocumentBulkResponse[]>;
+ /** Bulk insert/update/delete multiple documents in this database, with options.
+ * @see Docs: {@link https://docs.couchdb.org/en/stable/api/database/bulk-api.html#db-bulk-docs} */
bulk(docs: BulkModifyDocsWrapper, params: any, callback?: Callback<DocumentInsertResponse[]>): Promise<DocumentInsertResponse[]>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#get--db-_all_docs} */
+ /** List documents from this database.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#get--db-_all_docs} */
list(callback?: Callback<DocumentListResponse<D>>): Promise<DocumentListResponse<D>>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#get--db-_all_docs} */
+ /** List documents from this database with options.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#get--db-_all_docs} */
list(params: DocumentListParams, callback?: Callback<DocumentListResponse<D>>): Promise<DocumentListResponse<D>>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#get--db-_all_docs} */
+ /** List document from this database as a stream.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#get--db-_all_docs} */
listAsStream(): NodeJS.ReadStream;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#get--db-_all_docs} */
+ /** List document from this database as a stream with options.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#get--db-_all_docs} */
listAsStream(params: DocumentListParams): NodeJS.ReadStream;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_all_docs} */
+ /** Fetch a list of documents by _id.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_all_docs} */
fetch(docnames: BulkFetchDocsWrapper, callback?: Callback<DocumentFetchResponse<D>>): Promise<DocumentFetchResponse<D>>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_all_docs} */
+ /** Fetch a list of documents by _id with options.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_all_docs} */
fetch(
docnames: BulkFetchDocsWrapper,
params: DocumentFetchParams,
callback?: Callback<DocumentFetchResponse<D>>
): Promise<DocumentFetchResponse<D>>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_all_docs} */
+ /** Fetch revisions of a list of document _ids.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_all_docs} */
fetchRevs(docnames: BulkFetchDocsWrapper, callback?: Callback<DocumentFetchRevsResponse<D>>): Promise<DocumentFetchRevsResponse<D>>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_all_docs} */
+ /** Fetch revisions of a list of document _ids with options.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_all_docs} */
fetchRevs(
docnames: BulkFetchDocsWrapper,
params: DocumentFetchParams,
callback?: Callback<DocumentFetchRevsResponse<D>>
): Promise<DocumentFetchRevsResponse<D>>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/find.html#db-index} */
+ /** Create a Mango index.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/find.html#db-index} */
createIndex(indexDef: CreateIndexRequest,
callback?: Callback<CreateIndexResponse>
): Promise<CreateIndexResponse>;
+ /** Multipart HTTP functions */
multipart: Multipart<D>;
+ /** Attachment functions */
attachment: Attachment;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#get--db-_design-ddoc-_show-func} */
+ /** Apply a show function to a document.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#get--db-_design-ddoc-_show-func} */
show(
designname: string,
showname: string,
doc_id: string,
callback?: Callback<any>
): Promise<any>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#get--db-_design-ddoc-_show-func} */
+ /** Apply a show function to a document.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#get--db-_design-ddoc-_show-func} */
show(
designname: string,
showname: string,
@@ -280,14 +402,16 @@ declare namespace nano {
params: any,
callback?: Callback<any>
): Promise<any>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#put--db-_design-ddoc-_update-func-docid} */
+ /** Executes an update function on the server side for the supplied document id.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#put--db-_design-ddoc-_update-func-docid} */
atomic<R>(
designname: string,
updatename: string,
docname: string,
callback?: Callback<R>
): Promise<R>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#put--db-_design-ddoc-_update-func-docid} */
+ /** Executes an update function on the server side for the supplied document id with body.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#put--db-_design-ddoc-_update-func-docid} */
atomic<R>(
designname: string,
updatename: string,
@@ -295,14 +419,16 @@ declare namespace nano {
body: any,
callback?: Callback<R>
): Promise<R>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#put--db-_design-ddoc-_update-func-docid} */
+ /** Executes an update function on the server side for the supplied document id.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#put--db-_design-ddoc-_update-func-docid} */
updateWithHandler(
designname: string,
updatename: string,
docname: string,
callback?: Callback<OkResponse>
): Promise<OkResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#put--db-_design-ddoc-_update-func-docid} */
+ /** Executes an update function on the server side for the supplied document id with body.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#put--db-_design-ddoc-_update-func-docid} */
updateWithHandler(
designname: string,
updatename: string,
@@ -310,17 +436,23 @@ declare namespace nano {
body: any,
callback?: Callback<OkResponse>
): Promise<OkResponse>;
+ /** Executes a search request against the named index.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/ddoc/search.html#db-design-design-doc-search-index-name} */
search<V>(
designname: string,
searchname: string,
params: DocumentSearchParams,
callback?: Callback<DocumentSearchResponse<V>>
): Promise<DocumentSearchResponse<V>>;
+ /** Executes a search request against the named index as a stream.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/ddoc/search.html#db-design-design-doc-search-index-name} */
searchAsStream<V>(
designname: string,
searchname: string,
params: DocumentSearchParams
): NodeJS.ReadStream;
+ /** Low-level wrapper that executes a view from a Design Document.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view} */
baseView<V>(
designname: string,
viewname: string,
@@ -328,42 +460,44 @@ declare namespace nano {
params?: any,
callback?: Callback<any>
): Promise<any>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view}
- * @see {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#post--db-_design-ddoc-_view-view} */
+ /** Executes a view from a Design Document.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view} */
view<V>(
designname: string,
viewname: string,
callback?: Callback<DocumentViewResponse<V,D>>
): Promise<DocumentViewResponse<V,D>>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view}
- * @see {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#post--db-_design-ddoc-_view-view} */
+ /** Executes a view from a Design Document, with options.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view} */
view<V>(
designname: string,
viewname: string,
params: DocumentViewParams,
callback?: Callback<DocumentViewResponse<V,D>>
): Promise<DocumentViewResponse<V,D>>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view}
- * @see {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#post--db-_design-ddoc-_view-view} */
+ /** Executes a view from a Design Document as a stream
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view} */
viewAsStream<V>(
designname: string,
viewname: string
): NodeJS.ReadStream;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view}
- * @see {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#post--db-_design-ddoc-_view-view} */
+ /** Executes a view from a Design Document, with options as a stream
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view} */
viewAsStream<V>(
designname: string,
viewname: string,
params: DocumentViewParams
): NodeJS.ReadStream;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#db-design-design-doc-list-list-name-view-name} */
+ /** Applies a list function to a view.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#db-design-design-doc-list-list-name-view-name} */
viewWithList(
designname: string,
viewname: string,
listname: string,
callback?: Callback<any>
): Promise<any>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#db-design-design-doc-list-list-name-view-name} */
+ /** Applies a list function to a view with options.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#db-design-design-doc-list-list-name-view-name} */
viewWithList(
designname: string,
viewname: string,
@@ -371,43 +505,60 @@ declare namespace nano {
params: DocumentViewParams,
callback?: Callback<any>
): Promise<any>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#db-design-design-doc-list-list-name-view-name} */
+ /** Applies a list function to a view as a stream.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#db-design-design-doc-list-list-name-view-name} */
viewWithListAsStream(
designname: string,
viewname: string,
listname: string,
callback?: Callback<any>
- ): Promise<any>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#db-design-design-doc-list-list-name-view-name} */
+ ): NodeJS.ReadStream;
+ /** Applies a list function to a view with options as a stream.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/render.html#db-design-design-doc-list-list-name-view-name} */
viewWithListAsStream(
designname: string,
viewname: string,
listname: string,
params: DocumentViewParams,
callback?: Callback<any>
- ): Promise<any>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/find.html#db-find} */
+ ): NodeJS.ReadStream;
+ /** Run Mango query.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/find.html#db-find} */
find(query: MangoQuery, callback?: Callback<MangoResponse<D>>): Promise <MangoResponse<D>>;
+ /** Server scope */
server: ServerScope;
- //https://docs.couchdb.org/en/latest/partitioned-dbs/index.html
+ /** Fetch information about a single partition in this database.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/partitioned-dbs.html#db-partition-partition} */
partitionInfo(partitionKey: string, callback?: Callback<PartitionInfoResponse>): Promise <PartitionInfoResponse>;
+ /** List documents in a single partition in this database.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/partitioned-dbs.html#db-partition-partition-all-docs} */
partitionedList(partitionKey: string, params?: DocumentFetchParams, callback?: Callback<DocumentListResponse<D>>): Promise<DocumentListResponse<D>>;
+ /** List documents in a single partition in this database as a stream.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/partitioned-dbs.html#db-partition-partition-all-docs} */
partitionedListAsStream(partitionKey: string, params?: DocumentFetchParams): NodeJS.ReadStream;
+ /** Run Mango query a single partition in this database.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/partitioned-dbs.html#db-partition-partition-id-find} */
partitionedFind(partitionKey: string, query: MangoQuery, callback?: Callback<MangoResponse<D>>): Promise <MangoResponse<D>>;
+ /** Run Mango query a single partition in this database, as a stream.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/partitioned-dbs.html#db-partition-partition-id-find} */
partitionedFindAsStream(partitionKey: string, query: MangoQuery): NodeJS.ReadStream;
- partitionedViewpartitionedSearch<V>(
+ /** Run a full-text search in a single partition in this database. */
+ partitionedSearch<V>(
partitionKey: string,
designname: string,
searchname: string,
params: DocumentSearchParams,
callback?: Callback<DocumentSearchResponse<V>>
): Promise<DocumentSearchResponse<V>>;
+ /** Run a full-text search in a single partition in this database, as a stream. */
partitionedSearchAsStream(
partitionKey: string,
designname: string,
searchname: string,
params: DocumentSearchParams
): NodeJS.ReadStream;
+ /** Executes the specified view function in a single partition from the specified design document.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/partitioned-dbs.html#db-partition-partition-design-design-doc-view-view-name} */
partitionedView<V>(
partitionKey: string,
designname: string,
@@ -415,6 +566,8 @@ declare namespace nano {
params: DocumentViewParams,
callback?: Callback<DocumentViewResponse<V,D>>
): Promise<DocumentViewResponse<V,D>>;
+ /** Executes the specified view function in a single partition from the specified design document, as a stream
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/partitioned-dbs.html#db-partition-partition-design-design-doc-view-view-name} */
partitionedViewAsStream<V>(
partitionKey: string,
designname: string,
@@ -423,24 +576,33 @@ declare namespace nano {
): NodeJS.ReadStream;
}
+ /** attachment data */
interface AttachmentData {
name: string;
data: any;
content_type: any;
}
+ /** Multi-part HTTP functions */
interface Multipart<D> {
- /** @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#creating-multiple-attachments} */
+ /** Create doc with multiple attachments using mutlipart HTTP request.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#creating-multiple-attachments} */
insert(doc: D, attachments: AttachmentData[], callback?: Callback<DocumentInsertResponse>): Promise<DocumentInsertResponse>;
- /** @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#creating-multiple-attachments} */
+ /** Create doc with multiple attachments using mutlipart HTTP request with options.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#creating-multiple-attachments} */
insert(doc: D, attachments: AttachmentData[], params: any, callback?: Callback<DocumentInsertResponse>): Promise<DocumentInsertResponse>;
+ /** Fetch document and its attachments as a multipart HTTP request.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/document/common.html#efficient-multiple-attachments-retrieving} */
get(docname: string, callback?: Callback<any>): Promise<any>;
- get(docname: string, params: any, callback?: Callback<any>): Promise<any>;
+ /** Fetch document and its attachments as a multipart HTTP request with options.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/document/common.html#efficient-multiple-attachments-retrieving} */
+ get(docname: string, params: any, callback?: Callback<any>): Promise<any>;
}
+ /** Attachment functions */
interface Attachment {
- // NodeJS.WritableStream
- insert(docname: string, attname: string, att: null, contenttype: string, params?: any): Promise<DocumentInsertResponse>;
+ /** Insert an attachment.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/document/attachments.html#put--db-docid-attname} */
insert(
docname: string,
attname: string,
@@ -448,6 +610,8 @@ declare namespace nano {
contenttype: string,
callback?: Callback<DocumentInsertResponse>
): Promise<DocumentInsertResponse>;
+ /** Insert an attachment with options.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/document/attachments.html#put--db-docid-attname} */
insert(
docname: string,
attname: string,
@@ -456,15 +620,25 @@ declare namespace nano {
params: any,
callback?: Callback<DocumentInsertResponse>
): Promise<DocumentInsertResponse>;
+ /** Get an attachment.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/document/attachments.html#get--db-docid-attname} */
get(docname: string, attname: string, callback?: Callback<Buffer>): Promise<Buffer>;
+ /** Get an attachment as a stream.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/document/attachments.html#get--db-docid-attname} */
getAsStream(docname: string, attname: string): NodeJS.ReadStream;
+ /** Get an attachment with options.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/document/attachments.html#get--db-docid-attname} */
get(
docname: string,
attname: string,
params: any,
callback?: Callback<Buffer>
): Promise<Buffer>;
+ /** Delete an attachment.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/document/attachments.html#delete--db-docid-attname} */
destroy(docname: string, attname: string, callback?: Callback<any>): Promise<any>;
+ /** Delete an attachment with options.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/document/attachments.html#delete--db-docid-attname} */
destroy(
docname: string,
attname: string,
@@ -473,11 +647,14 @@ declare namespace nano {
): Promise<any>;
}
+ /** Server configuration */
interface ServerConfig {
url: string;
db: string;
}
+ /** Custom request options
+ * @see README: {@link https://www.npmjs.com/package/nano#nanorequestopts-callback}*/
interface RequestOptions {
db?: string;
method?: string;
@@ -492,7 +669,8 @@ declare namespace nano {
multipart?: any[];
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
+ /** Global changes feed paramters.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
interface UpdatesParams {
feed: "longpoll" | "continuous" | "eventsource";
timeout: number;
@@ -555,7 +733,8 @@ declare namespace nano {
// Database scope request and response
// -------------------------------------
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/common.html#put--db} */
+ /** Database creation options
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/common.html#put--db} */
interface DatabaseCreateResponse {
/** Operation status. Available in case of success */
ok?: boolean;
@@ -567,7 +746,8 @@ declare namespace nano {
reason?: string;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/common.html#get--db} */
+ /** Database information response.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/common.html#get--db} */
interface DatabaseGetResponse {
/** Set to true if the database compaction routine is operating on this database. */
compact_running: boolean;
@@ -611,14 +791,16 @@ declare namespace nano {
update_seq: number;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/common.html#delete--db}
- * @see {@link http://docs.couchdb.org/en/latest/api/database/compact.html#post--db-_compact} */
+ /** OK response
+ * @see Delete docs: {@link http://docs.couchdb.org/en/latest/api/database/common.html#delete--db}
+ * @see Compaction docs: {@link http://docs.couchdb.org/en/latest/api/database/compact.html#post--db-_compact} */
interface OkResponse {
/** Operation status */
ok: boolean;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
+ /** Database _replicate options.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
interface DatabaseReplicateOptions {
/** Cancels the replication */
cancel?: boolean;
@@ -645,7 +827,8 @@ declare namespace nano {
target?: string;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
+ /** Database replication history.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
interface DatabaseReplicationHistoryItem {
/** Number of document write failures */
doc_write_failures: number;
@@ -681,7 +864,8 @@ declare namespace nano {
start_time: string;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
+ /** Database _replicate response.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#post--_replicate} */
interface DatabaseReplicateResponse {
/** Replication history */
history: DatabaseReplicationHistoryItem[];
@@ -699,7 +883,8 @@ declare namespace nano {
source_last_seq: number;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
+ /** Database _changes parameters.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
interface DatabaseChangesParams {
/** List of document IDs to filter the changes feed as valid JSON array.
*
@@ -797,11 +982,12 @@ declare namespace nano {
*
* Documents counted as “passed” for view filter in case if map function emits at least one record for them.
*
- * @see {@link https://docs.couchdb.org/en/stable/api/database/changes.html#changes-filter-view|_view} for more info. */
+ * @see Docs: {@link https://docs.couchdb.org/en/stable/api/database/changes.html#changes-filter-view|_view} for more info. */
view?: string;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
+ /** Database change item.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
interface DatabaseChangesResultItem {
/** List of document’s leaves with single field rev. */
changes: Array<{ rev: string }>;
@@ -816,7 +1002,8 @@ declare namespace nano {
deleted: boolean;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
+ /** Database _changes response.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/changes.html#get--db-_changes} */
interface DatabaseChangesResponse {
/** Last change update sequence */
last_seq: any;
@@ -828,7 +1015,8 @@ declare namespace nano {
results: DatabaseChangesResultItem[];
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/authn.html#cookie-authentication} */
+ /** Database authentication response.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/authn.html#cookie-authentication} */
interface DatabaseAuthResponse {
/** Operation status */
ok: boolean;
@@ -840,7 +1028,8 @@ declare namespace nano {
roles: string[];
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/authn.html#get--_session} */
+ /** Database _session response.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/authn.html#get--_session} */
interface DatabaseSessionResponse {
/** Operation status */
ok: boolean;
@@ -852,7 +1041,8 @@ declare namespace nano {
info: any;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
+ /** Database global changes result item.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
interface DatabaseUpdatesResultItem {
/** Database name. */
db_name: string;
@@ -864,7 +1054,8 @@ declare namespace nano {
seq: any;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
+ /** Global changes response.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/server/common.html#get--_db_updates} */
interface DatabaseUpdatesResponse {
/** An array of database events.
*
@@ -879,6 +1070,7 @@ declare namespace nano {
// Document scope request and response
// -------------------------------------
+ /** Bulk API per-document response. */
interface DocumentResponseRowMeta {
id: string;
key: string;
@@ -888,11 +1080,13 @@ declare namespace nano {
error?: string;
}
+ /** Bulk API per-document response with document body. */
interface DocumentResponseRow<D> extends DocumentResponseRowMeta {
doc?: D & Document;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_bulk_docs} */
+ /** Bulk API response.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_bulk_docs} */
interface DocumentBulkResponse {
/** Document ID. Available in all cases */
id: string;
@@ -907,8 +1101,9 @@ declare namespace nano {
reason?: string;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/common.html#post--db}
- * @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#put--db-docid} */
+ /** Document insert parameters.
+ * @see POST docs: {@link http://docs.couchdb.org/en/latest/api/database/common.html#post--db}
+ * @see PUT docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#put--db-docid} */
interface DocumentInsertParams {
/** Document’s revision if updating an existing document. Alternative to If-Match header or document key. */
rev?: string;
@@ -925,8 +1120,9 @@ declare namespace nano {
new_edits?: boolean;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/common.html#post--db}
- * @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#put--db-docid} */
+ /** Document insert response:
+ * @see POST docs: {@link http://docs.couchdb.org/en/latest/api/database/common.html#post--db}
+ * @see PUT docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#put--db-docid} */
interface DocumentInsertResponse {
/** Document ID */
id: string;
@@ -938,7 +1134,8 @@ declare namespace nano {
rev: string;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#delete--db-docid} */
+ /** Document delete response.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#delete--db-docid} */
interface DocumentDestroyResponse {
/** Document ID */
id: string;
@@ -950,7 +1147,8 @@ declare namespace nano {
rev: string;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#get--db-docid} */
+ /** Document get parameters.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#get--db-docid} */
interface DocumentGetParams {
/** Includes attachments bodies in response.
*
@@ -1009,7 +1207,8 @@ declare namespace nano {
revs_info?: boolean;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#get--db-docid} */
+ /** Document get response:
+ * @see docs: {@link http://docs.couchdb.org/en/latest/api/document/common.html#get--db-docid} */
interface DocumentGetResponse {
/** Document ID. */
_id: string;
@@ -1043,23 +1242,8 @@ declare namespace nano {
_revisions?: any;
}
- interface DocumentCopyOptions {
- overwrite?: boolean;
- }
-
- /** @see {@link http://docs.couchdb.org/en/latest/api/document/common.html#copy--db-docid} */
- interface DocumentCopyResponse {
- /** Document ID */
- id: string;
-
- /** Operation status */
- ok: boolean;
-
- /** Revision MVCC token */
- rev: string;
- }
-
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#get--db-_all_docs} */
+ /** _all_docs parameters
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#get--db-_all_docs} */
interface DocumentListParams {
/** Includes conflicts information in response.
*
@@ -1132,7 +1316,8 @@ declare namespace nano {
update_seq?: boolean;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#get--db-_all_docs} */
+ /** _all_docs response.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/bulk-api.html#get--db-_all_docs} */
interface DocumentListResponse<D> {
/** Offset where the document list started. */
offset: number;
@@ -1151,6 +1336,8 @@ declare namespace nano {
update_seq?: number;
}
+ /** Fetch with POST _all_docs parameters.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_all_docs} */
interface DocumentFetchParams {
conflicts?: boolean;
descending?: boolean;
@@ -1158,7 +1345,7 @@ declare namespace nano {
end_key_doc_id?: string;
inclusive_end?: boolean;
key?: string;
- keys?: string; // This can be string[] too ???
+ keys?: string | string[];
limit?: number;
skip?: number;
stale?: string;
@@ -1166,11 +1353,15 @@ declare namespace nano {
start_key_doc_id?: string;
update_seq?: boolean;
}
+
+ /** Document fetch error */
interface DocumentLookupFailure {
key: string;
error: string;
}
+ /** Fetch with POST _all_docs response
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_all_docs} */
interface DocumentFetchResponse<D> {
offset: number;
rows: Array<DocumentResponseRow<D> | DocumentLookupFailure>;
@@ -1178,6 +1369,8 @@ declare namespace nano {
update_seq?: number;
}
+ /** Fetch revisions response
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/database/bulk-api.html#post--db-_all_docs} */
interface DocumentFetchRevsResponse<D> {
offset: number;
rows: Array<DocumentResponseRow<D> | DocumentLookupFailure>;
@@ -1185,6 +1378,8 @@ declare namespace nano {
update_seq?: number;
}
+ /** Search response
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/ddocs/search.html#queries} */
interface DocumentSearchResponse<V> {
/** Array of search results */
@@ -1213,7 +1408,8 @@ declare namespace nano {
}
- /** @see {@link https://docs.couchdb.org/en/latest/partitioned-dbs/index.html} */
+ /** Partitioned database info response.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/partitioned-dbs/index.html} */
interface PartitionInfoResponse {
/** Database name */
db_name: string;
@@ -1234,7 +1430,8 @@ declare namespace nano {
doc_del_count: number;
}
- /** @see {@link https://console.bluemix.net/docs/services/Cloudant/api/search.html#queries} */
+ /** Document search parameters:
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/ddocs/search.html#queries} */
interface DocumentSearchParams {
/** A bookmark that was received from a previous search. Used for pagination. */
bookmark?: string;
@@ -1310,7 +1507,8 @@ declare namespace nano {
stale?: boolean;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view} */
+ /** View query parameters.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view} */
interface DocumentViewParams {
/** Includes conflicts information in response.
*
@@ -1441,7 +1639,8 @@ declare namespace nano {
update_seq?: boolean;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view} */
+ /** View response.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/ddoc/views.html#get--db-_design-ddoc-_view-view} */
interface DocumentViewResponse<V,D> {
/** Offset where the document list started. */
offset: number;
@@ -1463,19 +1662,24 @@ declare namespace nano {
update_seq: any;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/find.html#selector-syntax} */
+
type MangoValue = number | string | Date | boolean | object | null;
type MangoOperator = '$lt' | '$lte' | '$eq' | '$ne' | '$gte' | '$gt' |
'$exists' | '$type' |
'$in' | '$nin' | '$size' | '$mod' | '$regex' |
'$or' | '$and' | '$nor' | '$not' | '$all' | '$allMatch' | '$elemMatch';
+ /** Mango selector syntax.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/find.html#selector-syntax} */
type MangoSelector = {
[K in MangoOperator | string]: MangoSelector| MangoSelector[] | MangoValue | MangoValue[];
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/find.html#sort-syntax} */
+ /** Mango sort syntax
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/find.html#sort-syntax} */
type SortOrder = string | string[] | { [key: string]: 'asc' | 'desc' };
+ /** Mango query syntax.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/database/find.html#db-find} */
interface MangoQuery {
/** JSON object describing criteria used to select documents. */
selector: MangoSelector;
@@ -1493,7 +1697,7 @@ declare namespace nano {
*
* If it is omitted, the entire object is returned.
*
- * @see {@link http://docs.couchdb.org/en/latest/api/database/find.html#filtering-fields} */
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/find.html#filtering-fields} */
fields?: string[];
/* Instruct a query to use a specific index.
@@ -1530,6 +1734,8 @@ declare namespace nano {
execution_stats?: boolean;
}
+ /** Mango response.
+ * @see Docs: {@link https://docs.couchdb.org/en/latest/api/database/find.html#db-find} */
interface MangoResponse<D> {
/** Array of documents matching the search.
*
@@ -1549,7 +1755,8 @@ declare namespace nano {
execution_stats?: MangoExecutionStats;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/find.html#execution-statistics} */
+ /** Mango execution stats.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/find.html#execution-statistics} */
interface MangoExecutionStats {
/** Number of index keys examined. Currently always 0. */
total_keys_examined: number;
@@ -1571,7 +1778,8 @@ declare namespace nano {
execution_time_ms: number;
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/find.html#db-index} */
+ /** Mango create index parameters.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/find.html#db-index} */
interface CreateIndexRequest{
/** JSON object describing the index to create */
index: {
@@ -1597,7 +1805,8 @@ declare namespace nano {
partitioned?: boolean
}
- /** @see {@link http://docs.couchdb.org/en/latest/api/database/find.html#db-index} */
+ /** Mango create index response.
+ * @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/find.html#db-index} */
interface CreateIndexResponse {
/** Flag to show whether the index was created or one already exists.
*