@decaf-ts/for-couchdb
Version:
template for ts projects
48 lines (47 loc) • 1.49 kB
TypeScript
import { Sequence as Seq } from "../model/CouchDBSequence";
import { Adapter, SequenceOptions } from "@decaf-ts/core";
import { Sequence } from "@decaf-ts/core";
import { MangoQuery } from "../types";
import { CouchDBRepository } from "../interfaces";
/**
* @summary Abstract implementation of a Sequence
* @description provides the basic functionality for {@link Sequence}s
*
* @param {SequenceOptions} options
*
* @class CouchDBSequence
* @implements Sequence
*/
export declare class CouchDBSequence extends Sequence {
protected repo: CouchDBRepository<Seq, any, any, any>;
constructor(options: SequenceOptions, adapter: Adapter<any, MangoQuery, any, any>);
/**
* @summary Retrieves the current value for the sequence
* @protected
*/
current(): Promise<string | number | bigint>;
/**
* @summary Parses the {@link Sequence} value
*
* @protected
* @param value
*/
private parse;
/**
* @summary increments the sequence
* @description Sequence specific implementation
*
* @param {string | number | bigint} current
* @param count
* @protected
*/
private increment;
/**
* @summary Generates the next value in th sequence
* @description calls {@link Sequence#parse} on the current value
* followed by {@link Sequence#increment}
*
*/
next(): Promise<number | string | bigint>;
range(count: number): Promise<(number | string | bigint)[]>;
}