vona-module-a-orm 5.0.48 → 5.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,8 +29,8 @@ export default async function (options: IMetadataCustomGenerateOptions): Promise
29
29
  get<T extends IModelGetOptions<${entityName},${className}>>(where: TypeModelWhere<${entityName}>, options?: T): Promise<TypeModelRelationResult<${entityName}, ${className}, T> | undefined>;
30
30
  mget<T extends IModelGetOptions<${entityName},${className}>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<${entityName}, ${className}, T>[]>;
31
31
  select<T extends IModelSelectParams<${entityName},${className},ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<${entityName}, ${className}, T>[]>;
32
- insert<T extends IModelInsertOptions<${entityName},${className}>>(data?: TypeModelMutateRelationData<${entityName},${className}, T>, options?: T): Promise<Required<TypeModelMutateRelationData<${entityName},${className}, T>>>;
33
- insertBulk<T extends IModelInsertOptions<${entityName},${className}>>(items: TypeModelMutateRelationData<${entityName},${className}, T>[], options?: T): Promise<Required<TypeModelMutateRelationData<${entityName},${className}, T>>[]>;
32
+ insert<T extends IModelInsertOptions<${entityName},${className}>>(data?: TypeModelMutateRelationData<${entityName},${className}, T>, options?: T): Promise<TypeModelMutateRelationData<${entityName},${className}, T, true>>;
33
+ insertBulk<T extends IModelInsertOptions<${entityName},${className}>>(items: TypeModelMutateRelationData<${entityName},${className}, T>[], options?: T): Promise<TypeModelMutateRelationData<${entityName},${className}, T, true>[]>;
34
34
  update<T extends IModelUpdateOptions<${entityName},${className}>>(data: TypeModelMutateRelationData<${entityName},${className}, T>, options?: T): Promise<TypeModelMutateRelationData<${entityName},${className}, T>>;
35
35
  updateBulk<T extends IModelUpdateOptions<${entityName},${className}>>(items: TypeModelMutateRelationData<${entityName},${className}, T>[], options?: T): Promise<TypeModelMutateRelationData<${entityName},${className}, T>[]>;
36
36
  delete<T extends IModelDeleteOptions<${entityName},${className}>>(where?: TypeModelWhere<${entityName}>, options?: T): Promise<void>;
package/dist/index.js CHANGED
@@ -3191,7 +3191,7 @@ class BeanModelCache extends BeanModelCrud {
3191
3191
  const modelTarget = this.newInstanceTarget(modelClear);
3192
3192
  const modelsClearedByFn = modelTarget.options.cache?.modelsClearedByFn;
3193
3193
  if (modelsClearedByFn) {
3194
- await modelsClearedByFn(this.ctx, modelTarget);
3194
+ await modelsClearedByFn(this.ctx, modelTarget, this);
3195
3195
  } else {
3196
3196
  await modelTarget.cacheQueryClear();
3197
3197
  }
@@ -12,7 +12,7 @@ export interface IModelClassRecord {
12
12
  }
13
13
  export type TypeDynamicTableName = (ctx: VonaContext, defaultTable: keyof ITableRecord, modelInstance: any) => string;
14
14
  export type TypeDynamicClientName = (ctx: VonaContext, modelInstance: any) => keyof IDatabaseClientRecord;
15
- export type TypeModelsClearedByFn = (ctx: VonaContext, modelInstance: any) => Promise<void>;
15
+ export type TypeModelsClearedByFn = (ctx: VonaContext, modelTarget: any, modelSource: any) => Promise<void>;
16
16
  export type TypeSoftDeletionPruneHandler = (ctx: VonaContext, modelInstance: any, options: ISoftDeletionPruneHandlerOptions) => Promise<void>;
17
17
  export interface ISoftDeletionPruneHandlerOptions {
18
18
  expired: number;
@@ -12,18 +12,18 @@ export type TypeModelMutateParamsRelationOptions<Relation> = boolean | (IModelRe
12
12
  include?: TypeModelMutateParamsInclude<TypeUtilGetRelationModel<Relation>>;
13
13
  with?: Record<string, unknown>;
14
14
  });
15
- export type TypeModelMutateRelationResultMergeInclude<TModelOptions extends IDecoratorModelOptions, TInclude extends {} | undefined | unknown> = {
16
- [RelationName in (keyof TModelOptions['relations'])]: TInclude extends {} ? TInclude[RelationName] extends {} | boolean ? TypeModelMutateRelationResultMergeIncludeWrapper<TModelOptions['relations'][RelationName], TInclude[RelationName]> : TypeModelMutateRelationResultMergeAutoload<TModelOptions['relations'][RelationName]> : TypeModelMutateRelationResultMergeAutoload<TModelOptions['relations'][RelationName]>;
15
+ export type TypeModelMutateRelationResultMergeInclude<TModelOptions extends IDecoratorModelOptions, TInclude extends {} | undefined | unknown, TForInsertResult extends boolean | undefined = undefined> = {
16
+ [RelationName in (keyof TModelOptions['relations'])]: TInclude extends {} ? TInclude[RelationName] extends {} | boolean ? TypeModelMutateRelationResultMergeIncludeWrapper<TModelOptions['relations'][RelationName], TInclude[RelationName], TForInsertResult> : TypeModelMutateRelationResultMergeAutoload<TModelOptions['relations'][RelationName], TForInsertResult> : TypeModelMutateRelationResultMergeAutoload<TModelOptions['relations'][RelationName], TForInsertResult>;
17
17
  };
18
- export type TypeModelMutateRelationResultMergeAutoload<Relation> = TypeUtilGetRelationOptionsAutoload<Relation> extends true ? TypeUtilMutateGetRelationEntityByType<Relation, undefined> : never;
19
- export type TypeModelMutateRelationResultMergeIncludeWrapper<Relation, IncludeWrapper> = IncludeWrapper extends false ? never : IncludeWrapper extends true ? TypeUtilMutateGetRelationEntityByType<Relation, undefined> : IncludeWrapper extends {} ? TypeUtilMutateGetRelationEntityByType<Relation, IncludeWrapper> : never;
20
- export type TypeUtilMutateGetRelationEntityByType<Relation, IncludeWrapper extends {} | undefined | unknown> = TypeUtilMutateGetEntityByType<TypeUtilGetRelationEntity<Relation>, TypeUtilGetRelationType<Relation>, TypeUtilGetRelationModel<Relation>, IncludeWrapper>;
21
- export type TypeUtilMutateGetEntityByType<TRecord, TYPE, TModel extends BeanModelMeta | undefined, IncludeWrapper extends {} | undefined | unknown> = TYPE extends 'belongsTo' ? never : TYPE extends 'belongsToMany' ? Array<{
18
+ export type TypeModelMutateRelationResultMergeAutoload<Relation, TForInsertResult extends boolean | undefined = undefined> = TypeUtilGetRelationOptionsAutoload<Relation> extends true ? TypeUtilMutateGetRelationEntityByType<Relation, undefined, TForInsertResult> : never;
19
+ export type TypeModelMutateRelationResultMergeIncludeWrapper<Relation, IncludeWrapper, TForInsertResult extends boolean | undefined = undefined> = IncludeWrapper extends false ? never : IncludeWrapper extends true ? TypeUtilMutateGetRelationEntityByType<Relation, undefined, TForInsertResult> : IncludeWrapper extends {} ? TypeUtilMutateGetRelationEntityByType<Relation, IncludeWrapper, TForInsertResult> : never;
20
+ export type TypeUtilMutateGetRelationEntityByType<Relation, IncludeWrapper extends {} | undefined | unknown, TForInsertResult extends boolean | undefined = undefined> = TypeUtilMutateGetEntityByType<TypeUtilGetRelationEntity<Relation>, TypeUtilGetRelationType<Relation>, TypeUtilGetRelationModel<Relation>, IncludeWrapper, TForInsertResult>;
21
+ export type TypeUtilMutateGetEntityByType<TRecord, TYPE, TModel extends BeanModelMeta | undefined, IncludeWrapper extends {} | undefined | unknown, TForInsertResult extends boolean | undefined = undefined> = TYPE extends 'belongsTo' ? never : TYPE extends 'belongsToMany' ? Array<{
22
22
  id: TableIdentity;
23
23
  deleted?: boolean;
24
- }> | undefined : TYPE extends 'hasMany' ? Array<TypeModelMutateRelationData<TRecord, TModel, IncludeWrapper>> | undefined : TypeModelMutateRelationData<TRecord, TModel, IncludeWrapper> | undefined;
25
- export type TypeModelMutateRelationResultMergeWith<TWith extends {} | undefined | unknown> = TWith extends {} ? {
26
- [RelationName in (keyof TWith)]: TypeModelMutateRelationResultMergeWithRelation<TWith[RelationName]>;
24
+ }> | undefined : TYPE extends 'hasMany' ? Array<TypeModelMutateRelationData<TRecord, TModel, IncludeWrapper, TForInsertResult>> | undefined : TypeModelMutateRelationData<TRecord, TModel, IncludeWrapper, TForInsertResult> | undefined;
25
+ export type TypeModelMutateRelationResultMergeWith<TWith extends {} | undefined | unknown, TForInsertResult extends boolean | undefined = undefined> = TWith extends {} ? {
26
+ [RelationName in (keyof TWith)]: TypeModelMutateRelationResultMergeWithRelation<TWith[RelationName], TForInsertResult>;
27
27
  } : {};
28
- export type TypeModelMutateRelationResultMergeWithRelation<WithRelation> = WithRelation extends false ? never : WithRelation extends true ? never : WithRelation extends {} ? TypeUtilMutateGetRelationEntityByType<WithRelation, TypeUtilGetRelationOptions<WithRelation>> : never;
29
- export type TypeModelMutateRelationData<TRecord, TModel extends BeanModelMeta | undefined, TOptionsRelation> = Partial<TRecord> & (TModel extends BeanModelMeta ? (Partial<OmitNever<TypeModelMutateRelationResultMergeInclude<TypeUtilGetModelOptions<TModel>, TypeUtilGetParamsInlcude<TOptionsRelation>>>> & Partial<OmitNever<TypeModelMutateRelationResultMergeWith<TypeUtilGetParamsWith<TOptionsRelation>>>>) : {});
28
+ export type TypeModelMutateRelationResultMergeWithRelation<WithRelation, TForInsertResult extends boolean | undefined = undefined> = WithRelation extends false ? never : WithRelation extends true ? never : WithRelation extends {} ? TypeUtilMutateGetRelationEntityByType<WithRelation, TypeUtilGetRelationOptions<WithRelation>, TForInsertResult> : never;
29
+ export type TypeModelMutateRelationData<TRecord, TModel extends BeanModelMeta | undefined, TOptionsRelation, TForInsertResult extends boolean | undefined = undefined> = (TForInsertResult extends true ? TRecord : Partial<TRecord>) & (TModel extends BeanModelMeta ? (Partial<OmitNever<TypeModelMutateRelationResultMergeInclude<TypeUtilGetModelOptions<TModel>, TypeUtilGetParamsInlcude<TOptionsRelation>, TForInsertResult>>> & Partial<OmitNever<TypeModelMutateRelationResultMergeWith<TypeUtilGetParamsWith<TOptionsRelation>, TForInsertResult>>>) : {});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vona-module-a-orm",
3
3
  "type": "module",
4
- "version": "5.0.48",
4
+ "version": "5.0.49",
5
5
  "title": "a-orm",
6
6
  "vonaModule": {
7
7
  "capabilities": {