@aspen.cloud/aspendb
Version:
Your unified, personal database to store data for many applications.
48 lines (47 loc) • 1.62 kB
TypeScript
/// <reference types="pouchdb-find" />
/// <reference types="pouchdb-core" />
/// <reference types="pouchdb-mapreduce" />
/// <reference types="pouchdb-replication" />
/// <reference types="pouchdb-upsert" />
interface iInsertableDoc {
id?: string;
type?: string;
[key: string]: any;
}
export default class AspenDB {
db: PouchDB.Database;
constructor(db: PouchDB.Database<{}>);
app(appId: string): AspenAppScope;
}
export declare class AspenAppScope {
global: PouchDB.Database;
appId: string;
constructor(global: PouchDB.Database<{}>, appId: string);
add(doc: iInsertableDoc, type?: string): Promise<PouchDB.UpsertResponse>;
private createFullId;
private addIdToDoc;
addAll(docs: Array<object>): Promise<(PouchDB.Core.Error | PouchDB.Core.Response)[]>;
all({ type, fullDocs, }?: {
type?: string;
fullDocs?: boolean;
}): Promise<{
doc?: PouchDB.Core.ExistingDocument<PouchDB.Core.AllDocsMeta> | undefined;
id: string;
key: string;
value: {
rev: string;
deleted?: boolean | undefined;
};
}[]>;
find(query: PouchDB.Find.FindRequest<{}>): Promise<PouchDB.Find.FindResponse<{}>>;
putIndex(index: {
fields: string[];
name?: string;
}): Promise<PouchDB.Find.CreateIndexResponse<{}>>;
get(id: string): Promise<PouchDB.Core.IdMeta & PouchDB.Core.GetMeta>;
upsert(id: string, diffFunc: PouchDB.UpsertDiffCallback<any>): Promise<PouchDB.UpsertResponse>;
putIfNotExits(doc: {
_id: string;
}): Promise<PouchDB.UpsertResponse>;
}
export {};