@mkeen/rxcouch
Version:
Real Time RxJs Based CouchDB Client
43 lines (42 loc) • 2.05 kB
TypeScript
import { Observer, Observable, Subject, BehaviorSubject } from 'rxjs';
import { RxCouchConfig, CouchDBChanges, CouchDBDocument, WatcherConfig, CouchDBPreDocument, CouchDBFindQuery, CouchDBGenericResponse, CouchDBUUIDSResponse, CouchDBSecurity } from './types';
import { CouchDBSession } from './couchdbsession';
import { CouchDBDocumentCollection } from './couchdbdocumentcollection';
export declare class CouchDB {
couchSession: CouchDBSession;
private rxhttpDebug;
documents: CouchDBDocumentCollection;
private changeFeedAbort;
private appDocChanges;
private changeFeedSubscription;
private databaseName;
private host;
private port;
private ssl;
private trackChanges;
constructor(rxCouchConfig: RxCouchConfig, couchSession?: CouchDBSession, rxhttpDebug?: boolean);
configureChangeFeed(config: WatcherConfig): void;
reconfigure(rxCouchConfig: RxCouchConfig): void;
private closeChangeFeed;
config(): Observable<WatcherConfig>;
doc(document: CouchDBDocument | CouchDBPreDocument | string): BehaviorSubject<CouchDBDocument>;
find(query: CouchDBFindQuery): Observable<CouchDBDocument[]>;
changes(stopChanges?: Subject<boolean>, config?: WatcherConfig): Observable<CouchDBChanges>;
delete(docs: CouchDBDocument[]): any;
edit(docs: CouchDBDocument[]): any;
all(): Observable<CouchDBGenericResponse>;
createDb(name: string): Observable<CouchDBGenericResponse>;
deleteDb(name: string): Observable<CouchDBGenericResponse>;
secureDb(name: string, securityObject: CouchDBSecurity): Observable<CouchDBGenericResponse>;
uuids(count?: number): Observable<CouchDBUUIDSResponse>;
bulkModify(docs: CouchDBDocument[], observer: Observer<CouchDBGenericResponse>): void;
private getDocument;
private saveDocument;
private durableHttpRequest;
private httpRequestWithAuthRetry;
private httpRequest;
private httpRequestOptions;
private cookieForRequestHeader;
private stopListeningForLocalChanges;
private listenForLocalChanges;
}