跳到主要内容

RepositoryGeneratorBase

Defined in: generators/RepositoryGeneratorBase.ts:37

基础 Repository 生成器(抽象基类) 提供通用工具方法,子类继承后生成各自的 Repository 属性和方法

Implements

Constructors

Constructor

new RepositoryGeneratorBase(): RepositoryGeneratorBase;

Returns

RepositoryGeneratorBase

Properties

name

abstract readonly name: string;

Defined in: generators/RepositoryGeneratorBase.ts:38

Generator 名称 必须与 EntityMetadata.repository 字段匹配

Example

'Repository', 'TreeRepository', 'GraphRepository', 'GeoRepository'

Implementation of

IRepositoryGenerator.name

Methods

addInstanceMethod()

protected addInstanceMethod(context, config): void;

Defined in: generators/RepositoryGeneratorBase.ts:130

共享工具:添加实例方法

Parameters

ParameterType
contextGeneratorContext
config{ docs: string[]; name: string; returnType: string; }
config.docsstring[]
config.namestring
config.returnTypestring

Returns

void


addStaticMethod()

protected addStaticMethod(context, config): void;

Defined in: generators/RepositoryGeneratorBase.ts:75

共享工具:添加静态查询方法

Parameters

ParameterType
contextGeneratorContext
config{ example?: string; method: string; metHodDoc?: string; options: string; optionsIsRequired?: boolean; returnType: string; }
config.example?string
config.methodstring
config.metHodDoc?string
config.optionsstring
config.optionsIsRequired?boolean
config.returnTypestring

Returns

void


generate()

generate(context): void;

Defined in: generators/RepositoryGeneratorBase.ts:40

生成 Repository 特有的属性和方法

Parameters

ParameterTypeDescription
contextGeneratorContext生成上下文

Returns

void

Implementation of

IRepositoryGenerator.generate


generateMethods()

abstract protected generateMethods(context): void;

Defined in: generators/RepositoryGeneratorBase.ts:70

子类实现:生成具体的 Repository 方法

Parameters

ParameterType
contextGeneratorContext

Returns

void


generateProperties()

protected generateProperties(context): void;

Defined in: generators/RepositoryGeneratorBase.ts:62

生成器钩子:生成特定的 Repository 属性 子类可选择性覆盖此方法,生成特定的计算属性、索引等

Parameters

ParameterType
contextGeneratorContext

Returns

void

Example

// Tree Generator 可能需要生成树级别缓存属性
protected generateProperties(context: GeneratorContext): void {
context.classProperties.push({
name: 'maxDepth',
type: 'number',
isReadonly: true
});
}

getIdType()

protected getIdType(metadata): IdType;

Defined in: generators/RepositoryGeneratorBase.ts:148

共享工具:获取 ID 类型

Parameters

ParameterType
metadataReadonly<EntityMetadataType>

Returns

IdType