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
Methods
addInstanceMethod()
protected addInstanceMethod(context, config): void;
Defined in: generators/RepositoryGeneratorBase.ts:130
共享工具:添加实例方法
Parameters
| Parameter | Type |
|---|---|
context | GeneratorContext |
config | { docs: string[]; name: string; returnType: string; } |
config.docs | string[] |
config.name | string |
config.returnType | string |
Returns
void
addStaticMethod()
protected addStaticMethod(context, config): void;
Defined in: generators/RepositoryGeneratorBase.ts:75
共享工具:添加静态查询方法
Parameters
| Parameter | Type |
|---|---|
context | GeneratorContext |
config | { example?: string; method: string; metHodDoc?: string; options: string; optionsIsRequired?: boolean; returnType: string; } |
config.example? | string |
config.method | string |
config.metHodDoc? | string |
config.options | string |
config.optionsIsRequired? | boolean |
config.returnType | string |
Returns
void
generate()
generate(context): void;
Defined in: generators/RepositoryGeneratorBase.ts:40
生成 Repository 特有的属性和方法
Parameters
| Parameter | Type | Description |
|---|---|---|
context | GeneratorContext | 生成上下文 |
Returns
void
Implementation of
generateMethods()
abstract protected generateMethods(context): void;
Defined in: generators/RepositoryGeneratorBase.ts:70
子类实现:生成具体的 Repository 方法
Parameters
| Parameter | Type |
|---|---|
context | GeneratorContext |
Returns
void
generateProperties()
protected generateProperties(context): void;
Defined in: generators/RepositoryGeneratorBase.ts:62
生成器钩子:生成特定的 Repository 属性 子类可选择性覆盖此方法,生成特定的计算属性、索引等
Parameters
| Parameter | Type |
|---|---|
context | GeneratorContext |
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
| Parameter | Type |
|---|---|
metadata | Readonly<EntityMetadataType> |
Returns
IdType