UNPKG

gen-jhipster

Version:

VHipster - Spring Boot + Angular/React/Vue in one handy generator

36 lines (35 loc) 2.63 kB
import BaseApplicationGenerator from '../base-application/index.ts'; import { PRIORITY_NAMES } from '../base-application/priorities.ts'; import type { TaskTypes as ApplicationTaskTypes } from '../base-application/tasks.ts'; import type { TaskParamWithApplication } from '../base-simple-application/tasks.ts'; import type { Application as BaseEntityChangesApplication, BaseChangelog as BaseEntityChangesChangelog, Config as BaseEntityChangesConfig, Entity as BaseEntityChangesEntity, Features as BaseEntityChangesFeatures, Options as BaseEntityChangesOptions, Source as BaseEntityChangesSource } from './types.ts'; type BaseEntityChangesTaskTypes<E extends BaseEntityChangesEntity, B extends BaseEntityChangesChangelog<E>, A extends BaseEntityChangesApplication<E>, S extends BaseEntityChangesSource> = ApplicationTaskTypes<E, A, S> & { DefaultTaskParam: { entityChanges?: B[]; }; WritingEntitiesTaskParam: { entityChanges?: B[]; }; PostWritingEntitiesTaskParam: { entityChanges?: B[]; }; }; /** * This is the base class for a generator for every generator. */ export default abstract class BaseEntityChangesGenerator<Entity extends BaseEntityChangesEntity = BaseEntityChangesEntity, Application extends BaseEntityChangesApplication<Entity> = BaseEntityChangesApplication<Entity>, Config extends BaseEntityChangesConfig = BaseEntityChangesConfig, Options extends BaseEntityChangesOptions = BaseEntityChangesOptions, Source extends BaseEntityChangesSource = BaseEntityChangesSource, Features extends BaseEntityChangesFeatures = BaseEntityChangesFeatures, Tasks extends BaseEntityChangesTaskTypes<Entity, BaseEntityChangesChangelog<Entity>, Application, Source> = BaseEntityChangesTaskTypes<Entity, BaseEntityChangesChangelog<Entity>, Application, Source>> extends BaseApplicationGenerator<Entity, Application, Config, Options, Source, Features, Tasks> { recreateInitialChangelog: boolean; private entityChanges; abstract isChangelogNew({ entityName, changelogDate }: { entityName: string; changelogDate: string; }): boolean; protected getTaskFirstArgForPriority(priorityName: (typeof PRIORITY_NAMES)[keyof typeof PRIORITY_NAMES]): TaskParamWithApplication<Application>; /** * Generate changelog from differences between the liquibase entity and current entity. */ protected generateIncrementalChanges({ application, entities: paramEntities, }: Pick<Tasks['DefaultTaskParam'], 'application' | 'entities'>): BaseEntityChangesChangelog<Entity>[]; private hasAnyDefaultValue; private doDefaultValuesDiffer; } export {};