@decaf-ts/for-couchdb
Version:
template for ts projects
17 lines (16 loc) • 864 B
TypeScript
import { Repository } from "@decaf-ts/core";
import { CouchDBAdapter } from "../adapter";
import { Model } from "@decaf-ts/decorator-validation";
import { MangoQuery } from "../types";
import { Context, RepositoryFlags } from "@decaf-ts/db-decorators";
/**
* @description Repository type for CouchDB operations
* @summary Type definition for a repository that works with CouchDB through the CouchDBAdapter
* @template M - The model type that extends Model
* @template Y - The scope type
* @template F - The repository flags type
* @template C - The context type that extends Context<F>
* @typedef {Repository<M, MangoQuery, CouchDBAdapter<Y, F, C>>} CouchDBRepository
* @memberOf module:for-couchdb
*/
export type CouchDBRepository<M extends Model, Y, F extends RepositoryFlags, C extends Context<F>> = Repository<M, MangoQuery, CouchDBAdapter<Y, F, C>>;