vona-module-a-orm 5.1.35 → 5.1.37
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.
- package/dist/common/utils.d.ts +2 -1
- package/dist/common/utils.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/bean.model/bean.model_crud_inner.d.ts +3 -3
- package/dist/lib/bean.model/bean.model_crud_inner.d.ts.map +1 -1
- package/dist/lib/bean.model/bean.model_crud_table.d.ts +3 -3
- package/dist/lib/bean.model/bean.model_crud_table.d.ts.map +1 -1
- package/dist/types/relationsGroup.d.ts +8 -6
- package/dist/types/relationsGroup.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/common/utils.ts +2 -1
- package/src/lib/bean.model/bean.model_crud_inner.ts +6 -2
- package/src/lib/bean.model/bean.model_crud_table.ts +4 -4
- package/src/types/relationsGroup.ts +12 -10
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { Knex } from 'knex';
|
|
2
2
|
import type { TableIdentity } from 'table-identity';
|
|
3
|
-
import type { IModelCountParams, IModelGetOptionsGeneral, IModelIncrementParams, IModelMethodOptionsGeneral, IModelSelectGeneralParams, IModelSelectParams, IModelUpdateOptionsGeneral, ITableRecord, TypeModelWhere } from '../../types/index.ts';
|
|
3
|
+
import type { IBuildModelCountParams, IBuildModelSelectParams, IModelCountParams, IModelGetOptionsGeneral, IModelIncrementParams, IModelMethodOptionsGeneral, IModelSelectGeneralParams, IModelSelectParams, IModelUpdateOptionsGeneral, ITableRecord, TypeModelWhere } from '../../types/index.ts';
|
|
4
4
|
import { BeanModelView } from './bean.model_view.ts';
|
|
5
5
|
export declare class BeanModelCrudInner<TRecord extends {}> extends BeanModelView<TRecord> {
|
|
6
6
|
protected _mget(table?: keyof ITableRecord, ids?: TableIdentity[], options?: IModelGetOptionsGeneral<TRecord>): Promise<TRecord[]>;
|
|
7
7
|
protected _mget_original(table?: keyof ITableRecord, ids?: TableIdentity[], options?: IModelGetOptionsGeneral<TRecord>): Promise<(TRecord | undefined)[]>;
|
|
8
|
-
protected _select<T extends IModelSelectParams<TRecord>>(table?: keyof ITableRecord, params?: T, options?: IModelMethodOptionsGeneral, builder?: Knex.QueryBuilder<TRecord, TRecord[]>): Promise<TRecord[]>;
|
|
8
|
+
protected _select<T extends IModelSelectParams<TRecord> | IBuildModelSelectParams<TRecord, undefined, never>>(table?: keyof ITableRecord, params?: T, options?: IModelMethodOptionsGeneral, builder?: Knex.QueryBuilder<TRecord, TRecord[]>): Promise<TRecord[]>;
|
|
9
9
|
protected _select_buildParams<T extends IModelSelectGeneralParams<TRecord>>(table: keyof ITableRecord, params?: T, options?: IModelMethodOptionsGeneral): Knex.QueryBuilder<TRecord, TRecord[]>;
|
|
10
10
|
protected _get(table: keyof ITableRecord | undefined, where: TypeModelWhere<TRecord>, options?: IModelGetOptionsGeneral<TRecord>): Promise<TRecord | undefined>;
|
|
11
|
-
protected _count(table?: keyof ITableRecord, params?: IModelCountParams<TRecord>, options?: IModelMethodOptionsGeneral): Promise<string | undefined>;
|
|
11
|
+
protected _count(table?: keyof ITableRecord, params?: IModelCountParams<TRecord> | IBuildModelCountParams<TRecord, undefined, never>, options?: IModelMethodOptionsGeneral): Promise<string | undefined>;
|
|
12
12
|
protected _increment(table?: keyof ITableRecord, params?: IModelIncrementParams<TRecord>, options?: IModelMethodOptionsGeneral): Promise<number>;
|
|
13
13
|
protected _insertBulk(table?: keyof ITableRecord, data?: Partial<TRecord> | Partial<TRecord>[], options?: IModelMethodOptionsGeneral): Promise<TRecord | TRecord[]>;
|
|
14
14
|
protected _update(table: keyof ITableRecord | undefined, data: Partial<TRecord>, options?: IModelUpdateOptionsGeneral<TRecord>): Promise<Partial<TRecord>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bean.model_crud_inner.d.ts","sourceRoot":"","sources":["../../../src/lib/bean.model/bean.model_crud_inner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAKpD,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,qBAAa,kBAAkB,CAAC,OAAO,SAAS,EAAE,CAAE,SAAQ,aAAa,CAAC,OAAO,CAAC;cAChE,KAAK,CACnB,KAAK,CAAC,EAAE,MAAM,YAAY,EAC1B,GAAG,CAAC,EAAE,aAAa,EAAE,EACrB,OAAO,CAAC,EAAE,uBAAuB,CAAC,OAAO,CAAC,GACzC,OAAO,CAAC,OAAO,EAAE,CAAC;cAML,cAAc,CAC5B,KAAK,CAAC,EAAE,MAAM,YAAY,EAC1B,GAAG,CAAC,EAAE,aAAa,EAAE,EACrB,OAAO,CAAC,EAAE,uBAAuB,CAAC,OAAO,CAAC,GACzC,OAAO,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC;cA8BnB,OAAO,
|
|
1
|
+
{"version":3,"file":"bean.model_crud_inner.d.ts","sourceRoot":"","sources":["../../../src/lib/bean.model/bean.model_crud_inner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
|
-
import type {
|
|
2
|
+
import type { IBuildModelCountParams, IBuildModelSelectParams, IModelGetOptionsGeneral, IModelMethodOptionsGeneral, IModelUpdateOptionsGeneral, ITableRecord, TypeModelWhere } from '../../types/index.ts';
|
|
3
3
|
import { BeanModelCrudInner } from './bean.model_crud_inner.ts';
|
|
4
4
|
export declare class BeanModelCrudTable<TRecord extends {}> extends BeanModelCrudInner<TRecord> {
|
|
5
5
|
mget(table: keyof ITableRecord, ids: TableIdentity[], options?: Omit<IModelGetOptionsGeneral<TRecord>, 'include' | 'with'>): Promise<TRecord[]>;
|
|
6
|
-
select(table: keyof ITableRecord, params?: Omit<
|
|
6
|
+
select(table: keyof ITableRecord, params?: Omit<IBuildModelSelectParams<TRecord, undefined, never>, 'include' | 'with'>, options?: IModelMethodOptionsGeneral): Promise<TRecord[]>;
|
|
7
7
|
get(table: keyof ITableRecord, where: TypeModelWhere<TRecord>, options?: Omit<IModelGetOptionsGeneral<TRecord>, 'include' | 'with'>): Promise<TRecord | undefined>;
|
|
8
|
-
count(table: keyof ITableRecord, params?:
|
|
8
|
+
count(table: keyof ITableRecord, params?: IBuildModelCountParams<TRecord, undefined, never>, options?: IModelMethodOptionsGeneral): Promise<string | undefined>;
|
|
9
9
|
insert(table: keyof ITableRecord, data?: Partial<TRecord>, options?: IModelMethodOptionsGeneral): Promise<TRecord>;
|
|
10
10
|
insertBulk(table: keyof ITableRecord, data: Partial<TRecord>[], options?: IModelMethodOptionsGeneral): Promise<TRecord[]>;
|
|
11
11
|
update(table: keyof ITableRecord, data: Partial<TRecord>, options?: IModelUpdateOptionsGeneral<TRecord>): Promise<Partial<TRecord>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bean.model_crud_table.d.ts","sourceRoot":"","sources":["../../../src/lib/bean.model/bean.model_crud_table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"bean.model_crud_table.d.ts","sourceRoot":"","sources":["../../../src/lib/bean.model/bean.model_crud_table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC1B,YAAY,EACZ,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,qBAAa,kBAAkB,CAAC,OAAO,SAAS,EAAE,CAAE,SAAQ,kBAAkB,CAAC,OAAO,CAAC;IAC/E,IAAI,CACR,KAAK,EAAE,MAAM,YAAY,EACzB,GAAG,EAAE,aAAa,EAAE,EACpB,OAAO,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,GACnE,OAAO,CAAC,OAAO,EAAE,CAAC;IAIf,MAAM,CACV,KAAK,EAAE,MAAM,YAAY,EACzB,MAAM,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,EACrF,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,OAAO,EAAE,CAAC;IAIf,GAAG,CACP,KAAK,EAAE,MAAM,YAAY,EACzB,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,GACnE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAIzB,KAAK,CACT,KAAK,EAAE,MAAM,YAAY,EACzB,MAAM,CAAC,EAAE,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,EAC1D,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIxB,MAAM,CACV,KAAK,EAAE,MAAM,YAAY,EACzB,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EACvB,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,OAAO,CAAC;IAIb,UAAU,CACd,KAAK,EAAE,MAAM,YAAY,EACzB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EACxB,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,OAAO,EAAE,CAAC;IAIf,MAAM,CACV,KAAK,EAAE,MAAM,YAAY,EACzB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EACtB,OAAO,CAAC,EAAE,0BAA0B,CAAC,OAAO,CAAC,GAC5C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAItB,MAAM,CACV,KAAK,EAAE,MAAM,YAAY,EACzB,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,IAAI,CAAC;CAGjB"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import type { TypeModelSelectAggrParamsAggrs } from './modelAggr.ts';
|
|
2
2
|
import type { TypeModelColumnsStrict } from './modelWhere.ts';
|
|
3
|
-
import type { TypeUtilGetParamsAggrs, TypeUtilGetParamsColumns, TypeUtilGetParamsGroups, TypeUtilGetRelationOptionsGroups } from './relations.ts';
|
|
3
|
+
import type { TypeUtilGetParamsAggrs, TypeUtilGetParamsColumns, TypeUtilGetParamsGroups, TypeUtilGetRelationOptionsGroups, TypeUtilEntitySelector, TypeUtilPrepareColumns } from './relations.ts';
|
|
4
4
|
import type { TypeModelAggrRelationResultAggr, TypeModelAggrRelationResultAggrs, TypeRecordAggrsValues, TypeRecordAggrsValuesToObject, TypeUtilAggrPrepareColumns } from './relationsAggr.ts';
|
|
5
5
|
export type TypeModelGroupRelationResult<TRecord, TOptions> = TypeModelGroupRelationResultGroups<TRecord, TypeUtilGetParamsAggrs<TOptions>, TypeUtilGetParamsGroups<TOptions>, TypeUtilGetParamsColumns<TOptions>>;
|
|
6
|
-
export type TypeModelGroupRelationResultGroups<TRecord, Aggrs, Groups, Columns> = Groups extends
|
|
6
|
+
export type TypeModelGroupRelationResultGroups<TRecord, Aggrs, Groups, Columns> = [Groups] extends [
|
|
7
|
+
string | string[]
|
|
8
|
+
] ? TypeModelGroupRelationResultGroupsObject<TRecord, Groups, Columns> & (Aggrs extends {} ? TypeRecordAggrsValuesToObject<TypeRecordAggrsValues<{
|
|
7
9
|
[K in keyof Aggrs]: K extends string ? TypeModelAggrRelationResultAggr<K, TypeUtilAggrPrepareColumns<Aggrs[K]>> : never;
|
|
8
10
|
}>> : {}) : {};
|
|
9
|
-
export type TypeModelGroupRelationResultGroupsObject<TRecord, Groups, Columns> = Columns extends
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
export type TypeModelGroupRelationResultGroupsObject<TRecord, Groups, Columns> = [Columns] extends [
|
|
12
|
+
string | string[]
|
|
13
|
+
] ? TypeUtilEntitySelector<TRecord, TypeUtilPrepareColumns<Columns>> : [Groups] extends [string | string[]] ? {
|
|
12
14
|
[K in TypeUtilAggrPrepareColumns<Groups>]: K extends keyof TRecord ? TRecord[K] : never;
|
|
13
15
|
} : {};
|
|
14
16
|
export type TypeModelSelectGroupParamsColumnNames<TRecord, ColumnNames extends TypeModelColumnsStrict<TRecord> | undefined = TypeModelColumnsStrict<TRecord>, Aggrs extends TypeModelSelectAggrParamsAggrs<TRecord> | undefined = TypeModelSelectAggrParamsAggrs<TRecord>> = (ColumnNames extends TypeModelColumnsStrict<TRecord> ? TypeUtilAggrPrepareColumns<ColumnNames> : never) | (Aggrs extends TypeModelSelectAggrParamsAggrs<TRecord> ? keyof TypeModelAggrRelationResultAggrs<Aggrs> : never);
|
|
@@ -16,7 +18,7 @@ export type TypeModelSelectGroupParamsColumns<TRecord, ColumnNames extends TypeM
|
|
|
16
18
|
[K in TypeUtilAggrPrepareColumns<ColumnNames>]: K extends keyof TRecord ? TRecord[K] : never;
|
|
17
19
|
} : {}) & TypeModelAggrRelationResultAggrsToNumberType<TypeModelAggrRelationResultAggrs<Aggrs>>;
|
|
18
20
|
export type TypeModelAggrRelationResultAggrsToNumberType<Columns> = {
|
|
19
|
-
[K in keyof Columns]: string;
|
|
21
|
+
[K in keyof Columns]: number | string;
|
|
20
22
|
};
|
|
21
23
|
export type TypeUtilGetGroupsFromRelationAndIncludeWrapper<Relation, IncludeWrapper extends {} | undefined | unknown> = TypeUtilGetParamsGroups<IncludeWrapper> extends string | string[] ? TypeUtilGetParamsGroups<IncludeWrapper> : TypeUtilGetRelationOptionsGroups<Relation>;
|
|
22
24
|
//# sourceMappingURL=relationsGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationsGroup.d.ts","sourceRoot":"","sources":["../../src/types/relationsGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EACV,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,gCAAgC,
|
|
1
|
+
{"version":3,"file":"relationsGroup.d.ts","sourceRoot":"","sources":["../../src/types/relationsGroup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/common/utils.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { prepareClassType } from 'vona-module-a-openapiutils';
|
|
|
6
6
|
import type { BeanModelMeta } from '../lib/bean.model/bean.model_meta.ts';
|
|
7
7
|
import type { TypeModelColumn, TypeModelColumns } from '../types/modelWhere.ts';
|
|
8
8
|
import type { IDecoratorModelOptions, IModelClassRecord } from '../types/onion/model.ts';
|
|
9
|
+
import type { TypeModelOfModelLike } from '../types/relations.ts';
|
|
9
10
|
|
|
10
11
|
export function isRaw(raw) {
|
|
11
12
|
return typeof raw?.constructor === 'function' && raw?.constructor?.name === 'Raw';
|
|
@@ -39,7 +40,7 @@ export function prepareClassModel<ModelLike extends BeanModelMeta | keyof IModel
|
|
|
39
40
|
classType: ModelLike extends BeanModelMeta
|
|
40
41
|
? (() => Constructable<ModelLike>) | Constructable<ModelLike>
|
|
41
42
|
: ModelLike,
|
|
42
|
-
): Constructable<ModelLike
|
|
43
|
+
): Constructable<Extract<TypeModelOfModelLike<ModelLike>, BeanModelMeta>> {
|
|
43
44
|
if (typeof classType === 'string') {
|
|
44
45
|
const beanOptions = appResource.getBean(beanFullNameFromOnionName(classType, 'model'));
|
|
45
46
|
return beanOptions!.beanClass as any;
|
|
@@ -5,6 +5,8 @@ import { isNil } from '@cabloy/utils';
|
|
|
5
5
|
import { cast } from 'vona';
|
|
6
6
|
|
|
7
7
|
import type {
|
|
8
|
+
IBuildModelCountParams,
|
|
9
|
+
IBuildModelSelectParams,
|
|
8
10
|
IModelCountParams,
|
|
9
11
|
IModelGetOptionsGeneral,
|
|
10
12
|
IModelIncrementParams,
|
|
@@ -63,7 +65,9 @@ export class BeanModelCrudInner<TRecord extends {}> extends BeanModelView<TRecor
|
|
|
63
65
|
return result;
|
|
64
66
|
}
|
|
65
67
|
|
|
66
|
-
protected async _select<
|
|
68
|
+
protected async _select<
|
|
69
|
+
T extends IModelSelectParams<TRecord> | IBuildModelSelectParams<TRecord, undefined, never>,
|
|
70
|
+
>(
|
|
67
71
|
table?: keyof ITableRecord,
|
|
68
72
|
params?: T,
|
|
69
73
|
options?: IModelMethodOptionsGeneral,
|
|
@@ -141,7 +145,7 @@ export class BeanModelCrudInner<TRecord extends {}> extends BeanModelView<TRecor
|
|
|
141
145
|
|
|
142
146
|
protected async _count(
|
|
143
147
|
table?: keyof ITableRecord,
|
|
144
|
-
params?: IModelCountParams<TRecord>,
|
|
148
|
+
params?: IModelCountParams<TRecord> | IBuildModelCountParams<TRecord, undefined, never>,
|
|
145
149
|
options?: IModelMethodOptionsGeneral,
|
|
146
150
|
): Promise<string | undefined> {
|
|
147
151
|
// table
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
2
|
|
|
3
3
|
import type {
|
|
4
|
-
|
|
4
|
+
IBuildModelCountParams,
|
|
5
|
+
IBuildModelSelectParams,
|
|
5
6
|
IModelGetOptionsGeneral,
|
|
6
7
|
IModelMethodOptionsGeneral,
|
|
7
|
-
IModelSelectParams,
|
|
8
8
|
IModelUpdateOptionsGeneral,
|
|
9
9
|
ITableRecord,
|
|
10
10
|
TypeModelWhere,
|
|
@@ -23,7 +23,7 @@ export class BeanModelCrudTable<TRecord extends {}> extends BeanModelCrudInner<T
|
|
|
23
23
|
|
|
24
24
|
async select(
|
|
25
25
|
table: keyof ITableRecord,
|
|
26
|
-
params?: Omit<
|
|
26
|
+
params?: Omit<IBuildModelSelectParams<TRecord, undefined, never>, 'include' | 'with'>,
|
|
27
27
|
options?: IModelMethodOptionsGeneral,
|
|
28
28
|
): Promise<TRecord[]> {
|
|
29
29
|
return await this._select(table, params, options);
|
|
@@ -39,7 +39,7 @@ export class BeanModelCrudTable<TRecord extends {}> extends BeanModelCrudInner<T
|
|
|
39
39
|
|
|
40
40
|
async count(
|
|
41
41
|
table: keyof ITableRecord,
|
|
42
|
-
params?:
|
|
42
|
+
params?: IBuildModelCountParams<TRecord, undefined, never>,
|
|
43
43
|
options?: IModelMethodOptionsGeneral,
|
|
44
44
|
): Promise<string | undefined> {
|
|
45
45
|
return await this._count(table, params, options);
|
|
@@ -5,6 +5,8 @@ import type {
|
|
|
5
5
|
TypeUtilGetParamsColumns,
|
|
6
6
|
TypeUtilGetParamsGroups,
|
|
7
7
|
TypeUtilGetRelationOptionsGroups,
|
|
8
|
+
TypeUtilEntitySelector,
|
|
9
|
+
TypeUtilPrepareColumns,
|
|
8
10
|
} from './relations.ts';
|
|
9
11
|
import type {
|
|
10
12
|
TypeModelAggrRelationResultAggr,
|
|
@@ -21,9 +23,9 @@ export type TypeModelGroupRelationResult<TRecord, TOptions> = TypeModelGroupRela
|
|
|
21
23
|
TypeUtilGetParamsColumns<TOptions>
|
|
22
24
|
>;
|
|
23
25
|
|
|
24
|
-
export type TypeModelGroupRelationResultGroups<TRecord, Aggrs, Groups, Columns> = Groups extends
|
|
25
|
-
| string
|
|
26
|
-
|
|
26
|
+
export type TypeModelGroupRelationResultGroups<TRecord, Aggrs, Groups, Columns> = [Groups] extends [
|
|
27
|
+
string | string[],
|
|
28
|
+
]
|
|
27
29
|
? TypeModelGroupRelationResultGroupsObject<TRecord, Groups, Columns> &
|
|
28
30
|
(Aggrs extends {}
|
|
29
31
|
? TypeRecordAggrsValuesToObject<
|
|
@@ -36,11 +38,11 @@ export type TypeModelGroupRelationResultGroups<TRecord, Aggrs, Groups, Columns>
|
|
|
36
38
|
: {})
|
|
37
39
|
: {}; // not use undefined
|
|
38
40
|
|
|
39
|
-
export type TypeModelGroupRelationResultGroupsObject<TRecord, Groups, Columns> = Columns extends
|
|
40
|
-
| string
|
|
41
|
-
|
|
42
|
-
?
|
|
43
|
-
: Groups extends string | string[]
|
|
41
|
+
export type TypeModelGroupRelationResultGroupsObject<TRecord, Groups, Columns> = [Columns] extends [
|
|
42
|
+
string | string[],
|
|
43
|
+
]
|
|
44
|
+
? TypeUtilEntitySelector<TRecord, TypeUtilPrepareColumns<Columns>>
|
|
45
|
+
: [Groups] extends [string | string[]]
|
|
44
46
|
? { [K in TypeUtilAggrPrepareColumns<Groups>]: K extends keyof TRecord ? TRecord[K] : never }
|
|
45
47
|
: {};
|
|
46
48
|
|
|
@@ -68,8 +70,8 @@ export type TypeModelSelectGroupParamsColumns<
|
|
|
68
70
|
TypeModelAggrRelationResultAggrsToNumberType<TypeModelAggrRelationResultAggrs<Aggrs>>;
|
|
69
71
|
|
|
70
72
|
export type TypeModelAggrRelationResultAggrsToNumberType<Columns> = {
|
|
71
|
-
[K in keyof Columns]: string;
|
|
72
|
-
};
|
|
73
|
+
[K in keyof Columns]: number | string;
|
|
74
|
+
};
|
|
73
75
|
|
|
74
76
|
export type TypeUtilGetGroupsFromRelationAndIncludeWrapper<
|
|
75
77
|
Relation,
|