@decaf-ts/for-couchdb
Version:
decaf-ts couchdb wrappers
31 lines (30 loc) • 894 B
text/typescript
import { OrderDirection, ViewOptions, ViewKey, ViewKind } from "@decaf-ts/core";
export interface CouchDBViewOptions extends ViewOptions {
ddoc?: string;
value?: ViewKey | "doc" | null;
map?: string | ((doc: any) => void);
reduce?: string | ((keys: any, values: any, rereduce: boolean) => any);
returnDocs?: boolean;
}
export interface CouchDBViewMetadata extends CouchDBViewOptions {
kind: ViewKind;
attribute: string;
}
export interface CouchDBViewDefinition {
map: string;
reduce?: string;
}
export interface AggregateOptions extends CouchDBViewOptions {
value?: any;
}
export interface CouchDBDesignDoc {
_id: string;
_rev?: string;
language?: "javascript";
views: Record<string, CouchDBViewDefinition>;
}
export interface ViewIndexDefinition {
attribute: string;
compositions?: string[];
directions?: OrderDirection[];
}