@decaf-ts/core
Version:
Core persistence module for the decaf framework
80 lines (79 loc) • 2.9 kB
TypeScript
/**
* @description Type of the sequence configuration options type property
* @summary Type of the sequence configuration options type property
* @interface SequenceOptionsType
* @memberOf module:core
*/
export type SequenceOptionsType = "Number" | "BigInt" | "String" | string | "serial" | "uuid" | StringConstructor | NumberConstructor | BigIntConstructor | undefined;
/**
* @description Interface for sequence configuration options
* @summary Defines the configuration options for creating and managing sequences
* @interface SequenceOptions
* @memberOf module:core
*/
export interface SequenceOptions<TYPE = SequenceOptionsType> {
/**
* @description Optional name for the sequence
* @summary A unique identifier for the sequence
*/
name?: string;
generated?: boolean;
/**
* @description The data type of the sequence
* @summary Specifies whether the sequence generates Number or BigInt values
*/
type: TYPE;
/**
* @description The initial value of the sequence
* @summary The value that the sequence starts with
*/
startWith: number;
/**
* @description The increment value for each step in the sequence
* @summary The amount by which the sequence increases with each call
*/
incrementBy: number;
/**
* @description Optional minimum value for the sequence
* @summary The lowest value that the sequence can generate
*/
minValue?: number;
/**
* @description Optional maximum value for the sequence
* @summary The highest value that the sequence can generate
*/
maxValue?: number;
/**
* @description Whether the sequence should cycle when reaching its limits
* @summary If true, the sequence will restart from minValue when reaching maxValue
*/
cycle: boolean;
}
/**
* @description Default options for sequences
* @summary Provides a standard configuration for number sequences starting at 0 and incrementing by 1
* @const NoneSequenceOptions
* @memberOf module:core
*/
export declare const NoneSequenceOptions: SequenceOptions;
/**
* @description Default options for sequences
* @summary Provides a standard configuration for number sequences starting at 0 and incrementing by 1
* @const DefaultSequenceOptions
* @memberOf module:core
*/
export declare const DefaultSequenceOptions: SequenceOptions;
/**
* @description Predefined options for numeric sequences
* @summary Configuration for standard number sequences starting at 0 and incrementing by 1
* @const NumericSequence
* @memberOf module:core
*/
export declare const NumericSequence: SequenceOptions;
/**
* @description Predefined options for BigInt sequences
* @summary Configuration for BigInt sequences starting at 0 and incrementing by 1
* @const BigIntSequence
* @memberOf module:core
*/
export declare const BigIntSequence: SequenceOptions;