bigal 15.11.6 → 15.11.8
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/.devcontainer/devcontainer.json +1 -1
- package/CHANGELOG.md +13 -1
- package/dist/index.cjs +18 -17
- package/dist/index.d.cts +6 -6
- package/dist/index.d.mts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.mjs +18 -17
- package/docs/package-lock.json +282 -282
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
|
+
## [15.11.8](https://github.com/bigalorm/bigal/compare/v15.11.7...v15.11.8) (2026-05-19)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* prevent propertyName leak across where-clause iteration ([#403](https://github.com/bigalorm/bigal/issues/403)) ([0454e84](https://github.com/bigalorm/bigal/commit/0454e84d4c6fdf46fc14bdcf57ab409619ea8a03)), closes [#393](https://github.com/bigalorm/bigal/issues/393)
|
|
6
|
+
|
|
7
|
+
## [15.11.7](https://github.com/bigalorm/bigal/compare/v15.11.6...v15.11.7) (2026-04-26)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- Return Pick<QueryResult<T>> from chained .select() ([#390](https://github.com/bigalorm/bigal/issues/390)) ([89780a4](https://github.com/bigalorm/bigal/commit/89780a4068c312fcf59b8598eb35792e3b498918))
|
|
12
|
+
|
|
1
13
|
## [15.11.6](https://github.com/bigalorm/bigal/compare/v15.11.5...v15.11.6) (2026-04-07)
|
|
2
14
|
|
|
3
15
|
### Bug Fixes
|
|
4
16
|
|
|
5
|
-
|
|
17
|
+
- Accept readonly arrays for column enum values ([4843e01](https://github.com/bigalorm/bigal/commit/4843e0117eedae2d0b601d9148ff2a885fad5f27))
|
|
6
18
|
|
|
7
19
|
## [15.11.5](https://github.com/bigalorm/bigal/compare/v15.11.4...v15.11.5) (2026-03-23)
|
|
8
20
|
|
package/dist/index.cjs
CHANGED
|
@@ -1737,31 +1737,32 @@ function buildWhere({
|
|
|
1737
1737
|
}
|
|
1738
1738
|
}
|
|
1739
1739
|
let subQueryComparer;
|
|
1740
|
+
let iterationPropertyName = propertyName;
|
|
1740
1741
|
if (isComparer(key)) {
|
|
1741
1742
|
subQueryComparer = key;
|
|
1742
|
-
} else if (propertyName) {
|
|
1743
|
-
const parentColumn = model.columnsByPropertyName[propertyName];
|
|
1744
|
-
if (parentColumn?.type?.toLowerCase() === "json") {
|
|
1745
|
-
andValues.push(
|
|
1746
|
-
buildJsonPropertyClause({
|
|
1747
|
-
columnName: parentColumn.name,
|
|
1748
|
-
path: [key],
|
|
1749
|
-
isNegated,
|
|
1750
|
-
constraint: where,
|
|
1751
|
-
params
|
|
1752
|
-
})
|
|
1753
|
-
);
|
|
1754
|
-
continue;
|
|
1755
|
-
}
|
|
1756
|
-
propertyName = key;
|
|
1757
1743
|
} else {
|
|
1758
|
-
propertyName
|
|
1744
|
+
if (propertyName) {
|
|
1745
|
+
const parentColumn = model.columnsByPropertyName[propertyName];
|
|
1746
|
+
if (parentColumn?.type?.toLowerCase() === "json") {
|
|
1747
|
+
andValues.push(
|
|
1748
|
+
buildJsonPropertyClause({
|
|
1749
|
+
columnName: parentColumn.name,
|
|
1750
|
+
path: [key],
|
|
1751
|
+
isNegated,
|
|
1752
|
+
constraint: where,
|
|
1753
|
+
params
|
|
1754
|
+
})
|
|
1755
|
+
);
|
|
1756
|
+
continue;
|
|
1757
|
+
}
|
|
1758
|
+
}
|
|
1759
|
+
iterationPropertyName = key;
|
|
1759
1760
|
}
|
|
1760
1761
|
andValues.push(
|
|
1761
1762
|
buildWhere({
|
|
1762
1763
|
repositoriesByModelNameLowered,
|
|
1763
1764
|
model,
|
|
1764
|
-
propertyName,
|
|
1765
|
+
propertyName: iterationPropertyName,
|
|
1765
1766
|
comparer: subQueryComparer,
|
|
1766
1767
|
isNegated,
|
|
1767
1768
|
value: where,
|
package/dist/index.d.cts
CHANGED
|
@@ -875,7 +875,7 @@ interface PopulateArgs<T extends Entity, K extends keyof T> {
|
|
|
875
875
|
}
|
|
876
876
|
|
|
877
877
|
interface FindOneResultJSON<T extends Entity, TReturn, TJoins extends JoinInfo = never> extends PromiseLike<PlainObject<TReturn> | null> {
|
|
878
|
-
select<TKeys extends string & keyof T
|
|
878
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindOneResultJSON<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
879
879
|
where(args: JoinedWhereQuery<T, TJoins>): FindOneResultJSON<T, TReturn, TJoins>;
|
|
880
880
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindOneResultJSON<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
881
881
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindOneResultJSON<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -885,7 +885,7 @@ interface FindOneResultJSON<T extends Entity, TReturn, TJoins extends JoinInfo =
|
|
|
885
885
|
UNSAFE_withFieldValue<TProperty extends string & keyof T, TValue extends T[TProperty]>(propertyName: TProperty, value: TValue): FindOneResultJSON<T, Omit<TReturn, TProperty> & PickAsType<T, TProperty, TValue>, TJoins>;
|
|
886
886
|
}
|
|
887
887
|
interface FindOneResult<T extends Entity, TReturn, TJoins extends JoinInfo = never> extends PromiseLike<TReturn | null> {
|
|
888
|
-
select<TKeys extends string & keyof T
|
|
888
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindOneResult<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
889
889
|
where(args: JoinedWhereQuery<T, TJoins>): FindOneResult<T, TReturn, TJoins>;
|
|
890
890
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindOneResult<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
891
891
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindOneResult<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -910,7 +910,7 @@ interface FindWithCountResult<TReturn> {
|
|
|
910
910
|
totalCount: number;
|
|
911
911
|
}
|
|
912
912
|
interface FindQueryWithCountJSON<T extends Entity, TReturn, TJoins extends AnyJoinInfo = never> extends PromiseLike<FindWithCountResult<PlainObject<TReturn>>> {
|
|
913
|
-
select<TKeys extends string & keyof T
|
|
913
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindQueryWithCountJSON<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
914
914
|
where(args: JoinedWhereQuery<T, TJoins>): FindQueryWithCountJSON<T, TReturn, TJoins>;
|
|
915
915
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindQueryWithCountJSON<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
916
916
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindQueryWithCountJSON<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -933,7 +933,7 @@ interface FindQueryWithCountJSON<T extends Entity, TReturn, TJoins extends AnyJo
|
|
|
933
933
|
paginate(options: PaginateOptions): FindQueryWithCountJSON<T, TReturn, TJoins>;
|
|
934
934
|
}
|
|
935
935
|
interface FindQueryWithCount<T extends Entity, TReturn, TJoins extends AnyJoinInfo = never> extends PromiseLike<FindWithCountResult<TReturn>> {
|
|
936
|
-
select<TKeys extends string & keyof T
|
|
936
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindQueryWithCount<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
937
937
|
where(args: JoinedWhereQuery<T, TJoins>): FindQueryWithCount<T, TReturn, TJoins>;
|
|
938
938
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindQueryWithCount<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
939
939
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindQueryWithCount<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -962,7 +962,7 @@ interface FindQueryWithCount<T extends Entity, TReturn, TJoins extends AnyJoinIn
|
|
|
962
962
|
}
|
|
963
963
|
|
|
964
964
|
interface FindResultJSON<T extends Entity, TReturn, TJoins extends AnyJoinInfo = never> extends PromiseLike<PlainObject<TReturn>[]> {
|
|
965
|
-
select<TKeys extends string & keyof T
|
|
965
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindResultJSON<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
966
966
|
where(args: JoinedWhereQuery<T, TJoins>): FindResultJSON<T, TReturn, TJoins>;
|
|
967
967
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindResultJSON<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
968
968
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindResultJSON<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -1011,7 +1011,7 @@ interface FindResultJSON<T extends Entity, TReturn, TJoins extends AnyJoinInfo =
|
|
|
1011
1011
|
UNSAFE_withOriginalFieldType<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T>(propertyName: TProperty): FindResultJSON<T, Omit<TReturn, TProperty> & Pick<T, TProperty>, TJoins>;
|
|
1012
1012
|
}
|
|
1013
1013
|
interface FindResult<T extends Entity, TReturn, TJoins extends AnyJoinInfo = never> extends PromiseLike<TReturn[]> {
|
|
1014
|
-
select<TKeys extends string & keyof T
|
|
1014
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindResult<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
1015
1015
|
where(args: JoinedWhereQuery<T, TJoins>): FindResult<T, TReturn, TJoins>;
|
|
1016
1016
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindResult<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
1017
1017
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindResult<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
package/dist/index.d.mts
CHANGED
|
@@ -875,7 +875,7 @@ interface PopulateArgs<T extends Entity, K extends keyof T> {
|
|
|
875
875
|
}
|
|
876
876
|
|
|
877
877
|
interface FindOneResultJSON<T extends Entity, TReturn, TJoins extends JoinInfo = never> extends PromiseLike<PlainObject<TReturn> | null> {
|
|
878
|
-
select<TKeys extends string & keyof T
|
|
878
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindOneResultJSON<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
879
879
|
where(args: JoinedWhereQuery<T, TJoins>): FindOneResultJSON<T, TReturn, TJoins>;
|
|
880
880
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindOneResultJSON<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
881
881
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindOneResultJSON<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -885,7 +885,7 @@ interface FindOneResultJSON<T extends Entity, TReturn, TJoins extends JoinInfo =
|
|
|
885
885
|
UNSAFE_withFieldValue<TProperty extends string & keyof T, TValue extends T[TProperty]>(propertyName: TProperty, value: TValue): FindOneResultJSON<T, Omit<TReturn, TProperty> & PickAsType<T, TProperty, TValue>, TJoins>;
|
|
886
886
|
}
|
|
887
887
|
interface FindOneResult<T extends Entity, TReturn, TJoins extends JoinInfo = never> extends PromiseLike<TReturn | null> {
|
|
888
|
-
select<TKeys extends string & keyof T
|
|
888
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindOneResult<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
889
889
|
where(args: JoinedWhereQuery<T, TJoins>): FindOneResult<T, TReturn, TJoins>;
|
|
890
890
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindOneResult<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
891
891
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindOneResult<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -910,7 +910,7 @@ interface FindWithCountResult<TReturn> {
|
|
|
910
910
|
totalCount: number;
|
|
911
911
|
}
|
|
912
912
|
interface FindQueryWithCountJSON<T extends Entity, TReturn, TJoins extends AnyJoinInfo = never> extends PromiseLike<FindWithCountResult<PlainObject<TReturn>>> {
|
|
913
|
-
select<TKeys extends string & keyof T
|
|
913
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindQueryWithCountJSON<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
914
914
|
where(args: JoinedWhereQuery<T, TJoins>): FindQueryWithCountJSON<T, TReturn, TJoins>;
|
|
915
915
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindQueryWithCountJSON<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
916
916
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindQueryWithCountJSON<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -933,7 +933,7 @@ interface FindQueryWithCountJSON<T extends Entity, TReturn, TJoins extends AnyJo
|
|
|
933
933
|
paginate(options: PaginateOptions): FindQueryWithCountJSON<T, TReturn, TJoins>;
|
|
934
934
|
}
|
|
935
935
|
interface FindQueryWithCount<T extends Entity, TReturn, TJoins extends AnyJoinInfo = never> extends PromiseLike<FindWithCountResult<TReturn>> {
|
|
936
|
-
select<TKeys extends string & keyof T
|
|
936
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindQueryWithCount<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
937
937
|
where(args: JoinedWhereQuery<T, TJoins>): FindQueryWithCount<T, TReturn, TJoins>;
|
|
938
938
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindQueryWithCount<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
939
939
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindQueryWithCount<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -962,7 +962,7 @@ interface FindQueryWithCount<T extends Entity, TReturn, TJoins extends AnyJoinIn
|
|
|
962
962
|
}
|
|
963
963
|
|
|
964
964
|
interface FindResultJSON<T extends Entity, TReturn, TJoins extends AnyJoinInfo = never> extends PromiseLike<PlainObject<TReturn>[]> {
|
|
965
|
-
select<TKeys extends string & keyof T
|
|
965
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindResultJSON<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
966
966
|
where(args: JoinedWhereQuery<T, TJoins>): FindResultJSON<T, TReturn, TJoins>;
|
|
967
967
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindResultJSON<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
968
968
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindResultJSON<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -1011,7 +1011,7 @@ interface FindResultJSON<T extends Entity, TReturn, TJoins extends AnyJoinInfo =
|
|
|
1011
1011
|
UNSAFE_withOriginalFieldType<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T>(propertyName: TProperty): FindResultJSON<T, Omit<TReturn, TProperty> & Pick<T, TProperty>, TJoins>;
|
|
1012
1012
|
}
|
|
1013
1013
|
interface FindResult<T extends Entity, TReturn, TJoins extends AnyJoinInfo = never> extends PromiseLike<TReturn[]> {
|
|
1014
|
-
select<TKeys extends string & keyof T
|
|
1014
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindResult<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
1015
1015
|
where(args: JoinedWhereQuery<T, TJoins>): FindResult<T, TReturn, TJoins>;
|
|
1016
1016
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindResult<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
1017
1017
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindResult<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
package/dist/index.d.ts
CHANGED
|
@@ -875,7 +875,7 @@ interface PopulateArgs<T extends Entity, K extends keyof T> {
|
|
|
875
875
|
}
|
|
876
876
|
|
|
877
877
|
interface FindOneResultJSON<T extends Entity, TReturn, TJoins extends JoinInfo = never> extends PromiseLike<PlainObject<TReturn> | null> {
|
|
878
|
-
select<TKeys extends string & keyof T
|
|
878
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindOneResultJSON<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
879
879
|
where(args: JoinedWhereQuery<T, TJoins>): FindOneResultJSON<T, TReturn, TJoins>;
|
|
880
880
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindOneResultJSON<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
881
881
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindOneResultJSON<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -885,7 +885,7 @@ interface FindOneResultJSON<T extends Entity, TReturn, TJoins extends JoinInfo =
|
|
|
885
885
|
UNSAFE_withFieldValue<TProperty extends string & keyof T, TValue extends T[TProperty]>(propertyName: TProperty, value: TValue): FindOneResultJSON<T, Omit<TReturn, TProperty> & PickAsType<T, TProperty, TValue>, TJoins>;
|
|
886
886
|
}
|
|
887
887
|
interface FindOneResult<T extends Entity, TReturn, TJoins extends JoinInfo = never> extends PromiseLike<TReturn | null> {
|
|
888
|
-
select<TKeys extends string & keyof T
|
|
888
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindOneResult<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
889
889
|
where(args: JoinedWhereQuery<T, TJoins>): FindOneResult<T, TReturn, TJoins>;
|
|
890
890
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindOneResult<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
891
891
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindOneResult<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -910,7 +910,7 @@ interface FindWithCountResult<TReturn> {
|
|
|
910
910
|
totalCount: number;
|
|
911
911
|
}
|
|
912
912
|
interface FindQueryWithCountJSON<T extends Entity, TReturn, TJoins extends AnyJoinInfo = never> extends PromiseLike<FindWithCountResult<PlainObject<TReturn>>> {
|
|
913
|
-
select<TKeys extends string & keyof T
|
|
913
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindQueryWithCountJSON<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
914
914
|
where(args: JoinedWhereQuery<T, TJoins>): FindQueryWithCountJSON<T, TReturn, TJoins>;
|
|
915
915
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindQueryWithCountJSON<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
916
916
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindQueryWithCountJSON<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -933,7 +933,7 @@ interface FindQueryWithCountJSON<T extends Entity, TReturn, TJoins extends AnyJo
|
|
|
933
933
|
paginate(options: PaginateOptions): FindQueryWithCountJSON<T, TReturn, TJoins>;
|
|
934
934
|
}
|
|
935
935
|
interface FindQueryWithCount<T extends Entity, TReturn, TJoins extends AnyJoinInfo = never> extends PromiseLike<FindWithCountResult<TReturn>> {
|
|
936
|
-
select<TKeys extends string & keyof T
|
|
936
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindQueryWithCount<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
937
937
|
where(args: JoinedWhereQuery<T, TJoins>): FindQueryWithCount<T, TReturn, TJoins>;
|
|
938
938
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindQueryWithCount<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
939
939
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindQueryWithCount<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -962,7 +962,7 @@ interface FindQueryWithCount<T extends Entity, TReturn, TJoins extends AnyJoinIn
|
|
|
962
962
|
}
|
|
963
963
|
|
|
964
964
|
interface FindResultJSON<T extends Entity, TReturn, TJoins extends AnyJoinInfo = never> extends PromiseLike<PlainObject<TReturn>[]> {
|
|
965
|
-
select<TKeys extends string & keyof T
|
|
965
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindResultJSON<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
966
966
|
where(args: JoinedWhereQuery<T, TJoins>): FindResultJSON<T, TReturn, TJoins>;
|
|
967
967
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindResultJSON<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
968
968
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindResultJSON<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
|
@@ -1011,7 +1011,7 @@ interface FindResultJSON<T extends Entity, TReturn, TJoins extends AnyJoinInfo =
|
|
|
1011
1011
|
UNSAFE_withOriginalFieldType<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T>(propertyName: TProperty): FindResultJSON<T, Omit<TReturn, TProperty> & Pick<T, TProperty>, TJoins>;
|
|
1012
1012
|
}
|
|
1013
1013
|
interface FindResult<T extends Entity, TReturn, TJoins extends AnyJoinInfo = never> extends PromiseLike<TReturn[]> {
|
|
1014
|
-
select<TKeys extends string & keyof T
|
|
1014
|
+
select<TKeys extends string & keyof OmitFunctions<QueryResult<T>>>(keys: TKeys[]): FindResult<T, Pick<QueryResult<T>, TKeys>, TJoins>;
|
|
1015
1015
|
where(args: JoinedWhereQuery<T, TJoins>): FindResult<T, TReturn, TJoins>;
|
|
1016
1016
|
populate<TProperty extends string & keyof PickByValueType<T, Entity> & keyof T, TPopulateType extends GetValueType<T[TProperty], Entity>, TPopulateSelectKeys extends string & keyof TPopulateType>(propertyName: TProperty, options?: PopulateArgs<TPopulateType, TPopulateSelectKeys>): FindResult<T, Omit<TReturn, TProperty> & Populated<T, TProperty, TPopulateType, TPopulateSelectKeys>, TJoins>;
|
|
1017
1017
|
join<TProperty extends ModelRelationshipKeys<T>, TAlias extends string = TProperty>(propertyName: TProperty, alias?: TAlias): FindResult<T, TReturn, JoinInfo<TProperty, TAlias, GetValueType<T[TProperty], Entity>> | TJoins>;
|
package/dist/index.mjs
CHANGED
|
@@ -1735,31 +1735,32 @@ function buildWhere({
|
|
|
1735
1735
|
}
|
|
1736
1736
|
}
|
|
1737
1737
|
let subQueryComparer;
|
|
1738
|
+
let iterationPropertyName = propertyName;
|
|
1738
1739
|
if (isComparer(key)) {
|
|
1739
1740
|
subQueryComparer = key;
|
|
1740
|
-
} else if (propertyName) {
|
|
1741
|
-
const parentColumn = model.columnsByPropertyName[propertyName];
|
|
1742
|
-
if (parentColumn?.type?.toLowerCase() === "json") {
|
|
1743
|
-
andValues.push(
|
|
1744
|
-
buildJsonPropertyClause({
|
|
1745
|
-
columnName: parentColumn.name,
|
|
1746
|
-
path: [key],
|
|
1747
|
-
isNegated,
|
|
1748
|
-
constraint: where,
|
|
1749
|
-
params
|
|
1750
|
-
})
|
|
1751
|
-
);
|
|
1752
|
-
continue;
|
|
1753
|
-
}
|
|
1754
|
-
propertyName = key;
|
|
1755
1741
|
} else {
|
|
1756
|
-
propertyName
|
|
1742
|
+
if (propertyName) {
|
|
1743
|
+
const parentColumn = model.columnsByPropertyName[propertyName];
|
|
1744
|
+
if (parentColumn?.type?.toLowerCase() === "json") {
|
|
1745
|
+
andValues.push(
|
|
1746
|
+
buildJsonPropertyClause({
|
|
1747
|
+
columnName: parentColumn.name,
|
|
1748
|
+
path: [key],
|
|
1749
|
+
isNegated,
|
|
1750
|
+
constraint: where,
|
|
1751
|
+
params
|
|
1752
|
+
})
|
|
1753
|
+
);
|
|
1754
|
+
continue;
|
|
1755
|
+
}
|
|
1756
|
+
}
|
|
1757
|
+
iterationPropertyName = key;
|
|
1757
1758
|
}
|
|
1758
1759
|
andValues.push(
|
|
1759
1760
|
buildWhere({
|
|
1760
1761
|
repositoriesByModelNameLowered,
|
|
1761
1762
|
model,
|
|
1762
|
-
propertyName,
|
|
1763
|
+
propertyName: iterationPropertyName,
|
|
1763
1764
|
comparer: subQueryComparer,
|
|
1764
1765
|
isNegated,
|
|
1765
1766
|
value: where,
|