UNPKG

@decaf-ts/for-couchdb

Version:
48 lines (47 loc) 1.49 kB
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)[]>; }