@abedmurrar/objection 4.0.0-alpha.0 → 4.0.0-beta.1

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.
Files changed (192) hide show
  1. package/README.md +103 -67
  2. package/lib/index.mjs +6 -0
  3. package/lib/initialize.js +6 -9
  4. package/lib/model/AjvValidator.js +235 -282
  5. package/lib/model/Model.js +653 -823
  6. package/lib/model/ModifierNotFoundError.js +5 -7
  7. package/lib/model/NotFoundError.js +14 -18
  8. package/lib/model/RelationDoesNotExistError.js +6 -9
  9. package/lib/model/ValidationError.js +33 -41
  10. package/lib/model/Validator.js +15 -21
  11. package/lib/model/getModel.js +1 -3
  12. package/lib/model/graph/ModelGraph.js +44 -64
  13. package/lib/model/graph/ModelGraphBuilder.js +164 -217
  14. package/lib/model/graph/ModelGraphEdge.js +31 -43
  15. package/lib/model/graph/ModelGraphNode.js +192 -231
  16. package/lib/model/inheritModel.js +9 -18
  17. package/lib/model/modelBindKnex.js +48 -62
  18. package/lib/model/modelClone.js +79 -98
  19. package/lib/model/modelColPropMap.js +16 -26
  20. package/lib/model/modelConcurrency.js +24 -0
  21. package/lib/model/modelId.js +44 -49
  22. package/lib/model/modelJsonAttributes.js +56 -76
  23. package/lib/model/modelParseRelations.js +68 -67
  24. package/lib/model/modelQueryProps.js +76 -107
  25. package/lib/model/modelSet.js +92 -112
  26. package/lib/model/modelTableMetadata.js +60 -72
  27. package/lib/model/modelToJson.js +120 -150
  28. package/lib/model/modelUtils.js +30 -37
  29. package/lib/model/modelValidate.js +34 -42
  30. package/lib/model/modelValues.js +78 -91
  31. package/lib/model/modelVisitor.js +22 -29
  32. package/lib/objection.js +42 -67
  33. package/lib/queryBuilder/FunctionBuilder.js +231 -279
  34. package/lib/queryBuilder/InternalOptions.js +19 -24
  35. package/lib/queryBuilder/JoinBuilder.js +116 -149
  36. package/lib/queryBuilder/QueryBuilder.js +1009 -1271
  37. package/lib/queryBuilder/QueryBuilderBase.js +647 -865
  38. package/lib/queryBuilder/QueryBuilderContext.js +14 -21
  39. package/lib/queryBuilder/QueryBuilderContextBase.js +20 -29
  40. package/lib/queryBuilder/QueryBuilderOperationSupport.js +462 -536
  41. package/lib/queryBuilder/QueryBuilderUserContext.js +19 -25
  42. package/lib/queryBuilder/RawBuilder.js +58 -73
  43. package/lib/queryBuilder/ReferenceBuilder.js +232 -270
  44. package/lib/queryBuilder/RelationExpression.js +322 -380
  45. package/lib/queryBuilder/StaticHookArguments.js +94 -106
  46. package/lib/queryBuilder/ValueBuilder.js +100 -112
  47. package/lib/queryBuilder/expressions.js +86 -116
  48. package/lib/queryBuilder/functions/mysql.js +642 -697
  49. package/lib/queryBuilder/graph/GraphAction.js +44 -59
  50. package/lib/queryBuilder/graph/GraphData.js +7 -9
  51. package/lib/queryBuilder/graph/GraphFetcher.js +115 -151
  52. package/lib/queryBuilder/graph/GraphNodeDbExistence.js +114 -152
  53. package/lib/queryBuilder/graph/GraphOperation.js +16 -22
  54. package/lib/queryBuilder/graph/GraphOptions.js +143 -185
  55. package/lib/queryBuilder/graph/GraphUpsert.js +167 -241
  56. package/lib/queryBuilder/graph/delete/GraphDelete.js +8 -13
  57. package/lib/queryBuilder/graph/delete/GraphDeleteAction.js +44 -62
  58. package/lib/queryBuilder/graph/insert/GraphInsert.js +99 -128
  59. package/lib/queryBuilder/graph/insert/GraphInsertAction.js +151 -193
  60. package/lib/queryBuilder/graph/insert/JoinRowGraphInsertAction.js +57 -79
  61. package/lib/queryBuilder/graph/patch/GraphPatch.js +8 -13
  62. package/lib/queryBuilder/graph/patch/GraphPatchAction.js +181 -234
  63. package/lib/queryBuilder/graph/recursiveUpsert/GraphRecursiveUpsert.js +16 -21
  64. package/lib/queryBuilder/graph/recursiveUpsert/GraphRecursiveUpsertAction.js +80 -110
  65. package/lib/queryBuilder/join/JoinResultColumn.js +14 -18
  66. package/lib/queryBuilder/join/JoinResultParser.js +88 -101
  67. package/lib/queryBuilder/join/RelationJoiner.js +205 -288
  68. package/lib/queryBuilder/join/TableNode.js +117 -144
  69. package/lib/queryBuilder/join/TableTree.js +60 -76
  70. package/lib/queryBuilder/join/utils.js +10 -16
  71. package/lib/queryBuilder/operations/DelegateOperation.js +93 -133
  72. package/lib/queryBuilder/operations/DeleteOperation.js +33 -37
  73. package/lib/queryBuilder/operations/FindByIdOperation.js +20 -28
  74. package/lib/queryBuilder/operations/FindByIdsOperation.js +17 -23
  75. package/lib/queryBuilder/operations/FindOperation.js +114 -131
  76. package/lib/queryBuilder/operations/FirstOperation.js +14 -19
  77. package/lib/queryBuilder/operations/FromOperation.js +69 -88
  78. package/lib/queryBuilder/operations/InsertAndFetchOperation.js +28 -39
  79. package/lib/queryBuilder/operations/InsertGraphAndFetchOperation.js +25 -35
  80. package/lib/queryBuilder/operations/InsertGraphOperation.js +77 -98
  81. package/lib/queryBuilder/operations/InsertOperation.js +132 -165
  82. package/lib/queryBuilder/operations/InstanceDeleteOperation.js +27 -36
  83. package/lib/queryBuilder/operations/InstanceFindOperation.js +9 -13
  84. package/lib/queryBuilder/operations/InstanceInsertOperation.js +13 -17
  85. package/lib/queryBuilder/operations/InstanceUpdateOperation.js +32 -46
  86. package/lib/queryBuilder/operations/JoinRelatedOperation.js +66 -86
  87. package/lib/queryBuilder/operations/KnexOperation.js +4 -7
  88. package/lib/queryBuilder/operations/MergeOperation.js +32 -45
  89. package/lib/queryBuilder/operations/ObjectionToKnexConvertingOperation.js +131 -150
  90. package/lib/queryBuilder/operations/OnBuildKnexOperation.js +17 -23
  91. package/lib/queryBuilder/operations/OnBuildOperation.js +17 -23
  92. package/lib/queryBuilder/operations/OnErrorOperation.js +17 -23
  93. package/lib/queryBuilder/operations/QueryBuilderOperation.js +231 -270
  94. package/lib/queryBuilder/operations/RangeOperation.js +30 -40
  95. package/lib/queryBuilder/operations/RelateOperation.js +14 -21
  96. package/lib/queryBuilder/operations/ReturningOperation.js +12 -18
  97. package/lib/queryBuilder/operations/RunAfterOperation.js +17 -23
  98. package/lib/queryBuilder/operations/RunBeforeOperation.js +17 -23
  99. package/lib/queryBuilder/operations/UnrelateOperation.js +12 -17
  100. package/lib/queryBuilder/operations/UpdateAndFetchOperation.js +48 -65
  101. package/lib/queryBuilder/operations/UpdateOperation.js +104 -129
  102. package/lib/queryBuilder/operations/UpsertGraphAndFetchOperation.js +25 -35
  103. package/lib/queryBuilder/operations/UpsertGraphOperation.js +36 -55
  104. package/lib/queryBuilder/operations/WhereCompositeOperation.js +30 -39
  105. package/lib/queryBuilder/operations/WhereInOperation.js +34 -36
  106. package/lib/queryBuilder/operations/eager/EagerOperation.js +37 -52
  107. package/lib/queryBuilder/operations/eager/JoinEagerOperation.js +34 -44
  108. package/lib/queryBuilder/operations/eager/NaiveEagerOperation.js +4 -7
  109. package/lib/queryBuilder/operations/eager/WhereInEagerOperation.js +193 -251
  110. package/lib/queryBuilder/operations/jsonApi/WhereJsonHasOperation.js +18 -25
  111. package/lib/queryBuilder/operations/jsonApi/WhereJsonNotObjectOperation.js +25 -41
  112. package/lib/queryBuilder/operations/jsonApi/WhereJsonOperation.js +19 -20
  113. package/lib/queryBuilder/operations/jsonApi/WhereJsonOverlapsOperation.js +23 -21
  114. package/lib/queryBuilder/operations/jsonApi/mysqlJsonApi.js +106 -118
  115. package/lib/queryBuilder/operations/jsonApi/postgresJsonApi.js +79 -108
  116. package/lib/queryBuilder/operations/select/SelectOperation.js +37 -53
  117. package/lib/queryBuilder/operations/select/Selection.js +94 -105
  118. package/lib/queryBuilder/operations/whereInComposite/WhereInCompositeMsSqlOperation.js +68 -101
  119. package/lib/queryBuilder/operations/whereInComposite/WhereInCompositeOperation.js +65 -75
  120. package/lib/queryBuilder/operations/whereInComposite/WhereInCompositeSqliteOperation.js +75 -84
  121. package/lib/queryBuilder/parsers/jsonFieldExpressionParser.js +760 -859
  122. package/lib/queryBuilder/parsers/relationExpressionParser.js +840 -952
  123. package/lib/queryBuilder/transformations/CompositeQueryTransformation.js +10 -15
  124. package/lib/queryBuilder/transformations/QueryTransformation.js +4 -6
  125. package/lib/queryBuilder/transformations/WrapMysqlModifySubqueryTransformation.js +35 -49
  126. package/lib/queryBuilder/transformations/index.js +3 -9
  127. package/lib/queryBuilder/whereScopes.js +158 -186
  128. package/lib/relations/Relation.js +293 -375
  129. package/lib/relations/RelationDeleteOperation.js +24 -28
  130. package/lib/relations/RelationFindOperation.js +108 -138
  131. package/lib/relations/RelationInsertOperation.js +24 -32
  132. package/lib/relations/RelationOwner.js +175 -209
  133. package/lib/relations/RelationProperty.js +186 -223
  134. package/lib/relations/RelationUpdateOperation.js +23 -29
  135. package/lib/relations/belongsToOne/BelongsToOneDeleteOperation.js +16 -21
  136. package/lib/relations/belongsToOne/BelongsToOneInsertOperation.js +30 -41
  137. package/lib/relations/belongsToOne/BelongsToOneRelateOperation.js +36 -47
  138. package/lib/relations/belongsToOne/BelongsToOneRelation.js +42 -50
  139. package/lib/relations/belongsToOne/BelongsToOneUnrelateOperation.js +43 -58
  140. package/lib/relations/hasMany/HasManyInsertOperation.js +40 -56
  141. package/lib/relations/hasMany/HasManyRelateOperation.js +45 -61
  142. package/lib/relations/hasMany/HasManyRelation.js +38 -46
  143. package/lib/relations/hasMany/HasManyUnrelateOperation.js +25 -32
  144. package/lib/relations/hasOne/HasOneRelation.js +9 -12
  145. package/lib/relations/hasOneThrough/HasOneThroughRelation.js +9 -12
  146. package/lib/relations/manyToMany/ManyToManyModifyMixin.js +73 -95
  147. package/lib/relations/manyToMany/ManyToManyRelation.js +374 -473
  148. package/lib/relations/manyToMany/ManyToManySqliteModifyMixin.js +23 -30
  149. package/lib/relations/manyToMany/delete/ManyToManyDeleteOperation.js +8 -10
  150. package/lib/relations/manyToMany/delete/ManyToManyDeleteOperationBase.js +20 -25
  151. package/lib/relations/manyToMany/delete/ManyToManyDeleteSqliteOperation.js +8 -12
  152. package/lib/relations/manyToMany/find/ManyToManyFindOperation.js +77 -100
  153. package/lib/relations/manyToMany/insert/ManyToManyInsertOperation.js +37 -49
  154. package/lib/relations/manyToMany/relate/ManyToManyRelateOperation.js +58 -74
  155. package/lib/relations/manyToMany/unrelate/ManyToManyUnrelateOperation.js +10 -13
  156. package/lib/relations/manyToMany/unrelate/ManyToManyUnrelateOperationBase.js +26 -33
  157. package/lib/relations/manyToMany/unrelate/ManyToManyUnrelateSqliteOperation.js +10 -15
  158. package/lib/relations/manyToMany/update/ManyToManyUpdateOperation.js +8 -10
  159. package/lib/relations/manyToMany/update/ManyToManyUpdateOperationBase.js +61 -78
  160. package/lib/relations/manyToMany/update/ManyToManyUpdateSqliteOperation.js +8 -12
  161. package/lib/transaction.js +53 -83
  162. package/lib/utils/assert.js +15 -21
  163. package/lib/utils/buildUtils.js +17 -19
  164. package/lib/utils/classUtils.js +7 -11
  165. package/lib/utils/cloneDeep.js +365 -0
  166. package/lib/utils/createModifier.js +36 -41
  167. package/lib/utils/deprecate.js +8 -12
  168. package/lib/utils/identifierMapping.js +153 -192
  169. package/lib/utils/internalPropUtils.js +4 -8
  170. package/lib/utils/knexUtils.js +61 -56
  171. package/lib/utils/mixin.js +16 -23
  172. package/lib/utils/mysqlJsonPath.js +55 -40
  173. package/lib/utils/normalizeIds.js +110 -127
  174. package/lib/utils/objectUtils.js +236 -338
  175. package/lib/utils/parseFieldExpression.js +66 -44
  176. package/lib/utils/postgresJsonPath.js +48 -62
  177. package/lib/utils/promiseUtils/after.js +10 -13
  178. package/lib/utils/promiseUtils/afterReturn.js +10 -13
  179. package/lib/utils/promiseUtils/index.js +15 -17
  180. package/lib/utils/promiseUtils/isPromise.js +6 -9
  181. package/lib/utils/promiseUtils/map.js +75 -89
  182. package/lib/utils/promiseUtils/mapAfterAllReturn.js +17 -23
  183. package/lib/utils/promiseUtils/try.js +15 -18
  184. package/lib/utils/resolveModel.js +91 -94
  185. package/lib/utils/tmpColumnUtils.js +4 -13
  186. package/package.json +50 -23
  187. package/typings/objection/index.d.mts +362 -0
  188. package/typings/objection/index.d.ts +36 -9
  189. package/lib/.eslintrc.json +0 -8
  190. package/lib/queryBuilder/parsers/jsonFieldExpressionParser.pegjs +0 -97
  191. package/lib/queryBuilder/parsers/relationExpressionParser.pegjs +0 -141
  192. package/lib/utils/clone.js +0 -2329
@@ -1,29 +1,25 @@
1
- 'use strict';
2
-
3
- const { DeleteOperation } = require('../queryBuilder/operations/DeleteOperation');
4
- const { RelationFindOperation } = require('./RelationFindOperation');
5
-
6
- class RelationDeleteOperation extends DeleteOperation {
7
- constructor(name, opt) {
8
- super(name, opt);
9
-
10
- this.relation = opt.relation;
11
- this.owner = opt.owner;
12
- }
13
-
14
- onBuild(builder) {
15
- super.onBuild(builder);
16
- this.relation.findQuery(builder, this.owner);
17
- }
18
-
19
- toFindOperation() {
20
- return new RelationFindOperation('find', {
21
- relation: this.relation,
22
- owner: this.owner,
23
- });
24
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelationDeleteOperation = void 0;
4
+ const DeleteOperation_1 = require("../queryBuilder/operations/DeleteOperation");
5
+ const RelationFindOperation_1 = require("./RelationFindOperation");
6
+ class RelationDeleteOperation extends DeleteOperation_1.DeleteOperation {
7
+ constructor(name, opt) {
8
+ // @ts-expect-error The JavaScript QueryBuilderOperation's `name` is inferred as null.
9
+ super(name, opt);
10
+ this.relation = opt.relation;
11
+ this.owner = opt.owner;
12
+ }
13
+ onBuild(builder) {
14
+ super.onBuild(builder);
15
+ this.relation.findQuery(builder, this.owner);
16
+ }
17
+ // @ts-expect-error The JavaScript base class's toFindOperation() is inferred to return null.
18
+ toFindOperation() {
19
+ return new RelationFindOperation_1.RelationFindOperation('find', {
20
+ relation: this.relation,
21
+ owner: this.owner,
22
+ });
23
+ }
25
24
  }
26
-
27
- module.exports = {
28
- RelationDeleteOperation,
29
- };
25
+ exports.RelationDeleteOperation = RelationDeleteOperation;
@@ -1,149 +1,119 @@
1
- 'use strict';
2
-
3
- const { FindOperation } = require('../queryBuilder/operations/FindOperation');
4
-
5
- class RelationFindOperation extends FindOperation {
6
- constructor(name, opt) {
7
- super(name, opt);
8
-
9
- this.relation = opt.relation;
10
- this.owner = opt.owner;
11
- this.alwaysReturnArray = false;
12
- this.assignResultToOwner = true;
13
- this.relationProperty = opt.relationProperty || this.relation.name;
14
- this.omitProps = [];
15
- this.alias = null;
16
- }
17
-
18
- onBuild(builder) {
19
- this.maybeApplyAlias(builder);
20
- this.relation.findQuery(builder, this.owner);
21
-
22
- if (this.assignResultToOwner && this.owner.isModels) {
23
- this.selectMissingJoinColumns(builder);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelationFindOperation = void 0;
4
+ const FindOperation_1 = require("../queryBuilder/operations/FindOperation");
5
+ class RelationFindOperation extends FindOperation_1.FindOperation {
6
+ constructor(name, opt) {
7
+ // @ts-expect-error The JavaScript QueryBuilderOperation's `name` is inferred as null.
8
+ super(name, opt);
9
+ this.relation = opt.relation;
10
+ this.owner = opt.owner;
11
+ this.alwaysReturnArray = false;
12
+ this.assignResultToOwner = true;
13
+ this.relationProperty = opt.relationProperty || this.relation.name;
14
+ this.omitProps = [];
15
+ this.alias = null;
24
16
  }
25
- }
26
-
27
- onAfter2(_, related) {
28
- const isOneToOne = this.relation.isOneToOne();
29
-
30
- if (this.assignResultToOwner && this.owner.isModels) {
31
- const owners = this.owner.modelArray;
32
- const relatedByOwnerId = new Map();
33
-
34
- for (let i = 0, l = related.length; i < l; ++i) {
35
- const rel = related[i];
36
- const key = this.relation.relatedProp.propKey(rel);
37
- let arr = relatedByOwnerId.get(key);
38
-
39
- if (!arr) {
40
- arr = [];
41
- relatedByOwnerId.set(key, arr);
17
+ onBuild(builder) {
18
+ this.maybeApplyAlias(builder);
19
+ this.relation.findQuery(builder, this.owner);
20
+ if (this.assignResultToOwner && this.owner.isModels) {
21
+ this.selectMissingJoinColumns(builder);
42
22
  }
43
-
44
- arr.push(rel);
45
- }
46
-
47
- for (let i = 0, l = owners.length; i < l; ++i) {
48
- const own = owners[i];
49
- const key = this.relation.ownerProp.propKey(own);
50
- const related = relatedByOwnerId.get(key);
51
-
52
- if (isOneToOne) {
53
- own[this.relationProperty] = (related && related[0]) || null;
54
- } else {
55
- own[this.relationProperty] = related || [];
56
- }
57
- }
58
- }
59
-
60
- return related;
61
- }
62
-
63
- onAfter3(builder, related) {
64
- const isOneToOne = this.relation.isOneToOne();
65
- const intOpt = builder.internalOptions();
66
-
67
- if (!intOpt.keepImplicitJoinProps) {
68
- this.omitImplicitJoinProps(related);
69
- }
70
-
71
- if (!this.alwaysReturnArray && isOneToOne && related.length <= 1) {
72
- related = related[0] || undefined;
73
- }
74
-
75
- return super.onAfter3(builder, related);
76
- }
77
-
78
- selectMissingJoinColumns(builder) {
79
- const relatedProp = this.relation.relatedProp;
80
- const addedSelects = [];
81
-
82
- for (let c = 0, lc = relatedProp.size; c < lc; ++c) {
83
- const fullCol = relatedProp.ref(builder, c).fullColumn(builder);
84
- const prop = relatedProp.props[c];
85
- const col = relatedProp.cols[c];
86
-
87
- if (!builder.hasSelectionAs(fullCol, col) && addedSelects.indexOf(fullCol) === -1) {
88
- this.omitProps.push(prop);
89
- addedSelects.push(fullCol);
90
- }
91
23
  }
92
-
93
- if (addedSelects.length) {
94
- builder.select(addedSelects);
24
+ onAfter2(_, related) {
25
+ const isOneToOne = this.relation.isOneToOne();
26
+ if (this.assignResultToOwner && this.owner.isModels) {
27
+ const owners = this.owner.modelArray;
28
+ const relatedByOwnerId = new Map();
29
+ for (let i = 0, l = related.length; i < l; ++i) {
30
+ const rel = related[i];
31
+ const key = this.relation.relatedProp.propKey(rel);
32
+ let arr = relatedByOwnerId.get(key);
33
+ if (!arr) {
34
+ arr = [];
35
+ relatedByOwnerId.set(key, arr);
36
+ }
37
+ arr.push(rel);
38
+ }
39
+ for (let i = 0, l = owners.length; i < l; ++i) {
40
+ const own = owners[i];
41
+ const key = this.relation.ownerProp.propKey(own);
42
+ const related = relatedByOwnerId.get(key);
43
+ if (isOneToOne) {
44
+ own[this.relationProperty] = (related && related[0]) || null;
45
+ }
46
+ else {
47
+ own[this.relationProperty] = related || [];
48
+ }
49
+ }
50
+ }
51
+ return related;
95
52
  }
96
- }
97
-
98
- maybeApplyAlias(builder) {
99
- if (!builder.alias() && this.alias) {
100
- builder.alias(this.alias);
53
+ // `related` is the array of the found models. It becomes a single model
54
+ // (or undefined) for one-to-one relations.
55
+ onAfter3(builder, related) {
56
+ const isOneToOne = this.relation.isOneToOne();
57
+ const intOpt = builder.internalOptions();
58
+ if (!intOpt.keepImplicitJoinProps) {
59
+ this.omitImplicitJoinProps(related);
60
+ }
61
+ if (!this.alwaysReturnArray && isOneToOne && related.length <= 1) {
62
+ related = related[0] || undefined;
63
+ }
64
+ return super.onAfter3(builder, related);
101
65
  }
102
- }
103
-
104
- omitImplicitJoinProps(related) {
105
- const relatedModelClass = this.relation.relatedModelClass;
106
-
107
- if (!this.omitProps.length || !related) {
108
- return related;
66
+ selectMissingJoinColumns(builder) {
67
+ const relatedProp = this.relation.relatedProp;
68
+ const addedSelects = [];
69
+ for (let c = 0, lc = relatedProp.size; c < lc; ++c) {
70
+ const fullCol = relatedProp.ref(builder, c).fullColumn(builder);
71
+ const prop = relatedProp.props[c];
72
+ const col = relatedProp.cols[c];
73
+ if (!builder.hasSelectionAs(fullCol, col) && addedSelects.indexOf(fullCol) === -1) {
74
+ this.omitProps.push(prop);
75
+ addedSelects.push(fullCol);
76
+ }
77
+ }
78
+ if (addedSelects.length) {
79
+ builder.select(addedSelects);
80
+ }
109
81
  }
110
-
111
- if (!Array.isArray(related)) {
112
- return this.omitImplicitJoinPropsFromOne(relatedModelClass, related);
82
+ maybeApplyAlias(builder) {
83
+ if (!builder.alias() && this.alias) {
84
+ builder.alias(this.alias);
85
+ }
113
86
  }
114
-
115
- if (!related.length) {
116
- return related;
87
+ omitImplicitJoinProps(related) {
88
+ const relatedModelClass = this.relation.relatedModelClass;
89
+ if (!this.omitProps.length || !related) {
90
+ return related;
91
+ }
92
+ if (!Array.isArray(related)) {
93
+ return this.omitImplicitJoinPropsFromOne(relatedModelClass, related);
94
+ }
95
+ if (!related.length) {
96
+ return related;
97
+ }
98
+ for (let i = 0, l = related.length; i < l; ++i) {
99
+ this.omitImplicitJoinPropsFromOne(relatedModelClass, related[i]);
100
+ }
101
+ return related;
117
102
  }
118
-
119
- for (let i = 0, l = related.length; i < l; ++i) {
120
- this.omitImplicitJoinPropsFromOne(relatedModelClass, related[i]);
103
+ omitImplicitJoinPropsFromOne(relatedModelClass, model) {
104
+ for (let c = 0, lc = this.omitProps.length; c < lc; ++c) {
105
+ relatedModelClass.omitImpl(model, this.omitProps[c]);
106
+ }
107
+ return model;
121
108
  }
122
-
123
- return related;
124
- }
125
-
126
- omitImplicitJoinPropsFromOne(relatedModelClass, model) {
127
- for (let c = 0, lc = this.omitProps.length; c < lc; ++c) {
128
- relatedModelClass.omitImpl(model, this.omitProps[c]);
109
+ clone() {
110
+ const clone = super.clone();
111
+ clone.alwaysReturnArray = this.alwaysReturnArray;
112
+ clone.assignResultToOwner = this.assignResultToOwner;
113
+ clone.relationProperty = this.relationProperty;
114
+ clone.omitProps = this.omitProps.slice();
115
+ clone.alias = this.alias;
116
+ return clone;
129
117
  }
130
-
131
- return model;
132
- }
133
-
134
- clone() {
135
- const clone = super.clone();
136
-
137
- clone.alwaysReturnArray = this.alwaysReturnArray;
138
- clone.assignResultToOwner = this.assignResultToOwner;
139
- clone.relationProperty = this.relationProperty;
140
- clone.omitProps = this.omitProps.slice();
141
- clone.alias = this.alias;
142
-
143
- return clone;
144
- }
145
118
  }
146
-
147
- module.exports = {
148
- RelationFindOperation,
149
- };
119
+ exports.RelationFindOperation = RelationFindOperation;
@@ -1,33 +1,25 @@
1
- 'use strict';
2
-
3
- const { InsertOperation } = require('../queryBuilder/operations/InsertOperation');
4
-
5
- class RelationInsertOperation extends InsertOperation {
6
- constructor(name, opt) {
7
- super(name, opt);
8
-
9
- this.relation = opt.relation;
10
- this.owner = opt.owner;
11
- this.assignResultToOwner = true;
12
- }
13
-
14
- async onBefore2(builder, result) {
15
- const queryContext = builder.context();
16
- result = await this.relation.executeBeforeInsert(this.models, queryContext, result);
17
- return super.onBefore2(builder, result);
18
- }
19
-
20
- clone() {
21
- const clone = super.clone();
22
-
23
- clone.relation = this.relation;
24
- clone.owner = this.owner;
25
- clone.assignResultToOwner = this.assignResultToOwner;
26
-
27
- return clone;
28
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelationInsertOperation = void 0;
4
+ const InsertOperation_1 = require("../queryBuilder/operations/InsertOperation");
5
+ class RelationInsertOperation extends InsertOperation_1.InsertOperation {
6
+ constructor(name, opt) {
7
+ super(name, opt);
8
+ this.relation = opt.relation;
9
+ this.owner = opt.owner;
10
+ this.assignResultToOwner = true;
11
+ }
12
+ async onBefore2(builder, result) {
13
+ const queryContext = builder.context();
14
+ result = await this.relation.executeBeforeInsert(this.models, queryContext, result);
15
+ return super.onBefore2(builder, result);
16
+ }
17
+ clone() {
18
+ const clone = super.clone();
19
+ clone.relation = this.relation;
20
+ clone.owner = this.owner;
21
+ clone.assignResultToOwner = this.assignResultToOwner;
22
+ return clone;
23
+ }
29
24
  }
30
-
31
- module.exports = {
32
- RelationInsertOperation,
33
- };
25
+ exports.RelationInsertOperation = RelationInsertOperation;