changelog-guru
Version:
Git changelog generator
61 lines (60 loc) • 1.88 kB
TypeScript
import { ICommit } from './Commit.js';
import Entity, { Compare, IEntity, Priority } from './Entity.js';
import { IMessage } from './Message.js';
export declare enum SectionPosition {
None = 0,
Subsection = 1,
Details = 2,
Group = 3,
Footer = 4,
Body = 5,
Header = 6
}
export declare enum SectionOrder {
Default = 0,
Max,
Min
}
export interface ISection extends IEntity {
readonly commits: ICommit[];
readonly isDetails: boolean;
readonly isEmpty: boolean;
readonly isGroup: boolean;
readonly isSubsection: boolean;
readonly messages: IMessage[];
order: number;
position: SectionPosition;
readonly sections: ISection[];
readonly title: string;
add(entity: ICommit | ISection | IMessage): void;
assign(relations: Map<string, ISection>, type?: SectionPosition.Subsection): void;
remove(entity: ICommit | ISection | IMessage): void;
}
export interface ISectionOptions {
emoji?: string;
name: string;
order?: number;
position?: SectionPosition;
}
export default class Section extends Entity implements ISection {
#private;
constructor({ name, position, order, emoji }: ISectionOptions);
static compare(a: ISection, b: ISection): Compare;
get title(): string;
get sections(): ISection[];
get commits(): ICommit[];
get messages(): IMessage[];
get priority(): Priority;
get position(): SectionPosition;
set position(position: SectionPosition);
get order(): number;
set order(order: number);
get isSubsection(): boolean;
get isDetails(): boolean;
get isGroup(): boolean;
get isEmpty(): boolean;
add(entity: ICommit | ISection | IMessage): void;
assign(relations: Map<string, ISection>, type?: SectionPosition.Subsection): void;
remove(entity: ICommit | ISection | IMessage): void;
private listOf;
}