@warlock.js/cascade 2.7.5 → 2.8.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 (55) hide show
  1. package/cjs/aggregate/OrWherePipeline.d.ts +0 -2
  2. package/cjs/aggregate/OrWherePipeline.d.ts.map +1 -1
  3. package/cjs/aggregate/OrWherePipeline.js +22 -1
  4. package/cjs/aggregate/OrWherePipeline.js.map +1 -1
  5. package/cjs/aggregate/filters/apply-filters.d.ts.map +1 -1
  6. package/cjs/aggregate/filters/apply-filters.js +6 -1
  7. package/cjs/aggregate/filters/apply-filters.js.map +1 -1
  8. package/cjs/aggregate/filters/numeric-filters.d.ts.map +1 -1
  9. package/cjs/aggregate/filters/numeric-filters.js +1 -0
  10. package/cjs/aggregate/filters/numeric-filters.js.map +1 -1
  11. package/cjs/aggregate/filters/types.d.ts +2 -1
  12. package/cjs/aggregate/filters/types.d.ts.map +1 -1
  13. package/cjs/aggregate/filters/utils.d.ts.map +1 -1
  14. package/cjs/aggregate/filters/utils.js +4 -2
  15. package/cjs/aggregate/filters/utils.js.map +1 -1
  16. package/cjs/model/ModelAggregate.d.ts +41 -11
  17. package/cjs/model/ModelAggregate.d.ts.map +1 -1
  18. package/cjs/model/ModelAggregate.js +36 -27
  19. package/cjs/model/ModelAggregate.js.map +1 -1
  20. package/cjs/model/model.d.ts +20 -1
  21. package/cjs/model/model.d.ts.map +1 -1
  22. package/cjs/model/model.js +20 -1
  23. package/cjs/model/model.js.map +1 -1
  24. package/cjs/query/query.d.ts +21 -1
  25. package/cjs/query/query.d.ts.map +1 -1
  26. package/cjs/query/query.js +76 -5
  27. package/cjs/query/query.js.map +1 -1
  28. package/esm/aggregate/OrWherePipeline.d.ts +0 -2
  29. package/esm/aggregate/OrWherePipeline.d.ts.map +1 -1
  30. package/esm/aggregate/OrWherePipeline.js +22 -1
  31. package/esm/aggregate/OrWherePipeline.js.map +1 -1
  32. package/esm/aggregate/filters/apply-filters.d.ts.map +1 -1
  33. package/esm/aggregate/filters/apply-filters.js +6 -1
  34. package/esm/aggregate/filters/apply-filters.js.map +1 -1
  35. package/esm/aggregate/filters/numeric-filters.d.ts.map +1 -1
  36. package/esm/aggregate/filters/numeric-filters.js +1 -0
  37. package/esm/aggregate/filters/numeric-filters.js.map +1 -1
  38. package/esm/aggregate/filters/types.d.ts +2 -1
  39. package/esm/aggregate/filters/types.d.ts.map +1 -1
  40. package/esm/aggregate/filters/utils.d.ts.map +1 -1
  41. package/esm/aggregate/filters/utils.js +4 -2
  42. package/esm/aggregate/filters/utils.js.map +1 -1
  43. package/esm/model/ModelAggregate.d.ts +41 -11
  44. package/esm/model/ModelAggregate.d.ts.map +1 -1
  45. package/esm/model/ModelAggregate.js +36 -27
  46. package/esm/model/ModelAggregate.js.map +1 -1
  47. package/esm/model/model.d.ts +20 -1
  48. package/esm/model/model.d.ts.map +1 -1
  49. package/esm/model/model.js +20 -1
  50. package/esm/model/model.js.map +1 -1
  51. package/esm/query/query.d.ts +21 -1
  52. package/esm/query/query.d.ts.map +1 -1
  53. package/esm/query/query.js +76 -5
  54. package/esm/query/query.js.map +1 -1
  55. package/package.json +2 -2
@@ -42,10 +42,30 @@ export declare class Query {
42
42
  * Update model by the given id
43
43
  */
44
44
  update(collection: string, filter: Filter, data: Document, options?: FindOneAndUpdateOptions): Promise<Partial<ModelDocument> | null>;
45
+ /**
46
+ * Update a single document in the given collection
47
+ */
48
+ updateOne(collection: string, filter: Filter, update: UpdateFilter<Document>, options?: UpdateOptions): Promise<any>;
45
49
  /**
46
50
  * Update many documents
47
51
  */
48
52
  updateMany(collection: string, filter: Filter, updateOptions: UpdateFilter<Document>, options?: UpdateOptions): Promise<any>;
53
+ /**
54
+ * Increment the value of the given field by the given amount
55
+ */
56
+ increment(collection: string, filter: Filter, field: string, amount?: number): Promise<any>;
57
+ /**
58
+ * Decrement the value of the given field by the given amount
59
+ */
60
+ decrement(collection: string, filter: Filter, field: string, amount?: number): Promise<any>;
61
+ /**
62
+ * Find and increment the value of the given field by the given amount
63
+ */
64
+ findAndIncrement(collection: string, filter: Filter, field: string, amount?: number): Promise<any>;
65
+ /**
66
+ * Find and decrement the value of the given field by the given amount
67
+ */
68
+ findAndDecrement(collection: string, filter: Filter, field: string, amount?: number): Promise<any>;
49
69
  /**
50
70
  * Replace the entire document for the given document id with the given new data
51
71
  */
@@ -72,7 +92,7 @@ export declare class Query {
72
92
  /**
73
93
  * Check if document exists for the given collection with the given filter
74
94
  */
75
- exists(collection: string, filter?: Filter, options?: CountDocumentsOptions): Promise<boolean>;
95
+ exists(collection: string, filter?: Filter, options?: FindOptions): Promise<boolean>;
76
96
  /**
77
97
  * Find a single document for the given collection with the given filter
78
98
  */
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/query/query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,MAAM,EACP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,qBAAa,KAAK;IAChB;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAY;IAExC;;OAEG;IACI,SAAS,SAAkC;IAElD;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAMrC;;OAEG;IACI,KAAK,CAAC,OAAO,SAAS,QAAQ,GAAG,QAAQ,EAAE,UAAU,EAAE,MAAM;IAIpE;;OAEG;IACI,iBAAiB;IAIxB;;OAEG;IACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,QAAQ,EACd,EAAE,OAAkC,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAO;;;;IA6B1E;;OAEG;IACU,UAAU,CACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,QAAQ,EAAE,EAChB,EAAE,OAAkC,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAO,GACvE,OAAO,CAAC,aAAa,EAAE,CAAC;IA4B3B;;OAEG;IACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAuCzC;;OAEG;IACU,UAAU,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,YAAY,CAAC,QAAQ,CAAC,EACrC,OAAO,CAAC,EAAE,aAAa;IA4BzB;;OAEG;IACU,OAAO,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IA4BzC;;;OAGG;IACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAsCzC;;OAEG;IACU,SAAS,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC;IA6BnB;;OAEG;IACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAW,EACnB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,CAAC;IA4BlB;;;;OAIG;IACU,UAAU,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAW,EACnB,OAAO,CAAC,EAAE,aAAa;IAKzB;;OAEG;IACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAW,EACnB,OAAO,CAAC,EAAE,qBAAqB;IAuBjC;;OAEG;IACU,KAAK,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC9C,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAW,EACnB,WAAW,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAUjD;;OAEG;IACU,IAAI,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7C,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAW,EACnB,WAAW,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAUjD;;OAEG;IACU,IAAI,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7C,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAW,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IA2CvB;;OAEG;IACU,MAAM,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC/C,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAW,EACnB,WAAW,CAAC,EAAE,kBAAkB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IASvB;;OAEG;IACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAW,EACnB,OAAO,CAAC,EAAE,WAAW;IAiCvB;;OAEG;IACU,QAAQ,CACnB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAW,EACnB,OAAO,CAAC,EAAE,eAAe;IAyB3B;;OAEG;IACU,KAAK,CAChB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAW,EACnB,OAAO,CAAC,EAAE,qBAAqB;IAuBjC;;OAEG;IACU,OAAO,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAW,EACnB,OAAO,CAAC,EAAE,WAAW,EACrB,SAAS,CAAC,EAAE,oBAAoB;IA4BlC;;OAEG;IACU,SAAS,CACpB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,CAAC,EAAE,gBAAgB;IAyB5B;;OAEG;IACU,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAUzE;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI;IAMnE;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI;IAMjE;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI;IAMnE;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI;IAMjE;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI;IAMrE;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI;IAMnE;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI;IAMrE;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI;IAMnE;;OAEG;IACI,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI;IAM/D;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI;IAM7D;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI;IAMnE;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI;IAMjE;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI;IAMnE;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI;IAMjE;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI;IAMvE;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI;IAMrE;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI;IAMnE;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI;IAMjE;;OAEG;IACI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI;IAIzD;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;CAOhE;AAED,eAAO,MAAM,KAAK,OAAc,CAAC"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/query/query.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,31 @@
107
107
  });
108
108
  return output;
109
109
  }
110
+ /**
111
+ * Update a single document in the given collection
112
+ */
113
+ async updateOne(collection, filter, update, options) {
114
+ const query = this.query(collection);
115
+ options = this.prepareQueryOptions(options);
116
+ await this.trigger("updating saving", {
117
+ collection,
118
+ filter,
119
+ update,
120
+ options,
121
+ query,
122
+ isMany: false,
123
+ });
124
+ const result = await query.updateOne(filter, update, options);
125
+ await this.trigger("updated saved", {
126
+ collection,
127
+ filter,
128
+ update,
129
+ options,
130
+ result,
131
+ isMany: false,
132
+ });
133
+ return result;
134
+ }
110
135
  /**
111
136
  * Update many documents
112
137
  */
@@ -132,6 +157,46 @@
132
157
  });
133
158
  return result;
134
159
  }
160
+ /**
161
+ * Increment the value of the given field by the given amount
162
+ */
163
+ async increment(collection, filter, field, amount = 1) {
164
+ const query = this.query(collection);
165
+ const result = await query.findOneAndUpdate(filter, {
166
+ $inc: { [field]: amount },
167
+ });
168
+ return result;
169
+ }
170
+ /**
171
+ * Decrement the value of the given field by the given amount
172
+ */
173
+ async decrement(collection, filter, field, amount = 1) {
174
+ const query = this.query(collection);
175
+ const result = await query.updateOne(filter, {
176
+ $inc: { [field]: -amount },
177
+ });
178
+ return result;
179
+ }
180
+ /**
181
+ * Find and increment the value of the given field by the given amount
182
+ */
183
+ async findAndIncrement(collection, filter, field, amount = 1) {
184
+ const query = this.query(collection);
185
+ const result = await query.findOneAndUpdate(filter, {
186
+ $inc: { [field]: amount },
187
+ });
188
+ return result;
189
+ }
190
+ /**
191
+ * Find and decrement the value of the given field by the given amount
192
+ */
193
+ async findAndDecrement(collection, filter, field, amount = 1) {
194
+ const query = this.query(collection);
195
+ const result = await query.findOneAndUpdate(filter, {
196
+ $inc: { [field]: -amount },
197
+ });
198
+ return result;
199
+ }
135
200
  /**
136
201
  * Replace the entire document for the given document id with the given new data
137
202
  */
@@ -252,19 +317,25 @@
252
317
  async exists(collection, filter = {}, options) {
253
318
  const query = this.query(collection);
254
319
  options = this.prepareQueryOptions(options);
255
- await this.trigger("counting", {
320
+ await this.trigger("fetching", {
256
321
  collection,
257
322
  filter,
258
323
  query,
259
324
  options,
325
+ isMany: false,
260
326
  });
261
- const output = await query.countDocuments(filter, options);
262
- await this.trigger("counted", {
327
+ // Use findOne with projection to minimize data transfer
328
+ const document = await query.findOne(filter, {
329
+ ...options,
330
+ projection: { _id: 1 }, // Only return the _id field
331
+ });
332
+ await this.trigger("fetched", {
263
333
  collection,
264
334
  filter,
265
- output,
335
+ document,
336
+ exists: !!document,
266
337
  });
267
- return output > 0;
338
+ return !!document;
268
339
  }
269
340
  /**
270
341
  * Find a single document for the given collection with the given filter
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sources":["../../src/query/query.ts"],"sourcesContent":[null],"names":["database","Random","events"],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sources":["../../src/query/query.ts"],"sourcesContent":[null],"names":["database","Random","events"],"mappings":"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"}
@@ -18,6 +18,4 @@ export declare class OrWherePipeline extends WherePipeline {
18
18
  };
19
19
  }
20
20
  export declare function orWherePipeline(column: string, value: any): OrWherePipeline;
21
- export declare function orWherePipeline(column: string, operator: string, value: any): OrWherePipeline;
22
- export declare function orWherePipeline(column: any): OrWherePipeline;
23
21
  //# sourceMappingURL=OrWherePipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrWherePipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/OrWherePipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,aAAa;IAChD;;OAEG;gBAEgB,GAAG,UAAU,EAAE,aAAa,EAAE;gBAC9B,GAAG,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE;IAIhE;;OAEG;IACI,KAAK;;;;;;;CAkCb;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,eAAe,CAAC;AAC7E,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG,GACT,eAAe,CAAC;AACnB,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"OrWherePipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/OrWherePipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,aAAa;IAChD;;OAEG;gBAEgB,GAAG,UAAU,EAAE,aAAa,EAAE;gBAC9B,GAAG,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE;IAKhE;;OAEG;IACI,KAAK;;;;;;;CAuDb;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,eAAe,CAAC"}
@@ -10,7 +10,28 @@ import {WhereExpression}from'./WhereExpression.js';import {WherePipeline}from'./
10
10
  // we have three types of where
11
11
  // first one is an array of arrays, each array contains two items, column and value
12
12
  // second one is an array of objects, each object contains column and value
13
- // third one is an object, each key is the column and the value is the value
13
+ // third one is an object, each key is the column and the value is the value (Recommended for simple multiple value checks)
14
+ /**
15
+ * Examples
16
+ *
17
+ * Example 1:
18
+ * query.orWhere([
19
+ * ["name", "hasan"],
20
+ * ["age", 20]
21
+ * ])
22
+ *
23
+ * Example 2
24
+ * query.orWhere([
25
+ * {bedrooms: $agg.in([20, 30, 40])},
26
+ * {bedrooms: $agg.gte(7)}
27
+ * ])
28
+ *
29
+ * Example 3
30
+ * query.orWhere({
31
+ * name: "hasan",
32
+ * age: 20
33
+ * })
34
+ */
14
35
  if (Array.isArray(this.pipelineData)) {
15
36
  for (const operation of this.pipelineData) {
16
37
  if (Array.isArray(operation)) {
@@ -1 +1 @@
1
- {"version":3,"file":"OrWherePipeline.js","sources":["../../src/aggregate/OrWherePipeline.ts"],"sourcesContent":[null],"names":[],"mappings":"kGAIM,MAAO,eAAgB,SAAQ,aAAa,CAAA;AAOhD,IAAA,WAAA,CAAmB,UAAyB,EAAA;QAC1C,KAAK,CAAC,UAAU,CAAC,CAAC;KACnB;AACD;;AAEG;IACI,KAAK,GAAA;QACV,MAAM,IAAI,GAEJ,EAAE,CAAC;;;;;QAOT,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACpC,YAAA,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE;AACzC,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBAC5B,IAAI,CAAC,IAAI,CAAC;wBACR,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;AAC7B,qBAAA,CAAC,CAAC;AACJ,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtB,iBAAA;AACF,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE;gBACtC,IAAI,CAAC,IAAI,CAAC;oBACR,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AACpC,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;QAED,OAAO;AACL,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,IAAI;AACV,aAAA;SACF,CAAC;KACH;AACF,CAAA;AASe,SAAA,eAAe,CAAC,GAAG,IAAW,EAAA;AAC5C,IAAA,OAAO,IAAI,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC;AAC7E"}
1
+ {"version":3,"file":"OrWherePipeline.js","sources":["../../src/aggregate/OrWherePipeline.ts"],"sourcesContent":[null],"names":[],"mappings":"kGAIM,MAAO,eAAgB,SAAQ,aAAa,CAAA;AAOhD,IAAA,WAAA,CAAmB,UAAyB,EAAA;QAC1C,KAAK,CAAC,UAAU,CAAC,CAAC;KACnB;AAED;;AAEG;IACI,KAAK,GAAA;QACV,MAAM,IAAI,GAEJ,EAAE,CAAC;;;;;AAMT;;;;;;;;;;;;;;;;;;;;AAoBG;QAEH,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACpC,YAAA,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE;AACzC,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBAC5B,IAAI,CAAC,IAAI,CAAC;wBACR,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;AAC7B,qBAAA,CAAC,CAAC;AACJ,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtB,iBAAA;AACF,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE;gBACtC,IAAI,CAAC,IAAI,CAAC;oBACR,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AACpC,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;QAED,OAAO;AACL,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,IAAI;AACV,aAAA;SACF,CAAC;KACH;AACF,CAAA;AAGe,SAAA,eAAe,CAAC,GAAG,IAAW,EAAA;AAC5C,IAAA,OAAO,IAAI,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC;AAC7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"apply-filters.d.ts","sourceRoot":"","sources":["../../../src/aggregate/filters/apply-filters.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAA8B,MAAM,SAAS,CAAC;AAwC9E,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,OAAO,EACP,IAAS,EACT,OAAY,GACb,EAAE,kBAAkB,QA2CpB"}
1
+ {"version":3,"file":"apply-filters.d.ts","sourceRoot":"","sources":["../../../src/aggregate/filters/apply-filters.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAA8B,MAAM,SAAS,CAAC;AAwC9E,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,OAAO,EACP,IAAS,EACT,OAAY,GACb,EAAE,kBAAkB,QAmDpB"}
@@ -33,7 +33,7 @@ function prepareFilterRule(key, rule) {
33
33
  }
34
34
  function applyFilters({ query, filters, data = {}, options = {}, }) {
35
35
  for (const key in filters) {
36
- const value = data[key];
36
+ let value = data[key];
37
37
  if (value === undefined)
38
38
  continue;
39
39
  const rule = prepareFilterRule(key, filters[key]);
@@ -52,6 +52,11 @@ function applyFilters({ query, filters, data = {}, options = {}, }) {
52
52
  });
53
53
  continue;
54
54
  }
55
+ if (rule.type.startsWith("in") &&
56
+ rule.type !== "int" &&
57
+ !Array.isArray(value)) {
58
+ value = [value];
59
+ }
55
60
  // Handle where operators if not a predefined filter type
56
61
  if (WhereExpression.operators[rule.type]) {
57
62
  if (rule.column) {
@@ -1 +1 @@
1
- {"version":3,"file":"apply-filters.js","sources":["../../../src/aggregate/filters/apply-filters.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-filters.js","sources":["../../../src/aggregate/filters/apply-filters.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"numeric-filters.d.ts","sourceRoot":"","sources":["../../../src/aggregate/filters/numeric-filters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAuFxD,CAAC"}
1
+ {"version":3,"file":"numeric-filters.d.ts","sourceRoot":"","sources":["../../../src/aggregate/filters/numeric-filters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAwFxD,CAAC"}
@@ -78,6 +78,7 @@ import {createColumnsObject,returnAsArray}from'./utils.js';const numericFilters
78
78
  const values = returnAsArray(value).map(v => parseInt(v));
79
79
  if (column) {
80
80
  query.whereIn(column, values);
81
+ query.whereIn(column, values);
81
82
  }
82
83
  else if (columns) {
83
84
  query.orWhere(createColumnsObject(columns, { $in: values }));
@@ -1 +1 @@
1
- {"version":3,"file":"numeric-filters.js","sources":["../../../src/aggregate/filters/numeric-filters.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numeric-filters.js","sources":["../../../src/aggregate/filters/numeric-filters.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { GenericObject } from "@mongez/reinforcements";
2
+ import { ModelAggregate } from "src/cascade/model";
2
3
  import { type Aggregate } from "../aggregate";
3
4
  import type { WhereOperator } from "../types";
4
5
  type FilterOperator = "bool" | "boolean" | "number" | "inNumber" | "null" | "notNull" | "!null" | "int" | "int>" | "int>=" | "int<" | "int<=" | "in" | "!int" | "integer" | "inInt" | "float" | "double" | "inFloat" | "date" | "inDate" | "date>" | "date>=" | "date<" | "date<=" | "dateBetween" | "dateTime" | "inDateTime" | "dateTime>" | "dateTime>=" | "dateTime<" | "dateTime<=" | "dateTimeBetween" | "location" | WhereOperator;
5
- type FilterFunction = (value: any, query: Aggregate, context: Record<string, any>) => void;
6
+ type FilterFunction = (value: any, query: ModelAggregate<any>, context: Record<string, any>) => void;
6
7
  type FilterRule = FilterOperator | FilterFunction | [FilterOperator] | [FilterOperator, string | string[]];
7
8
  type FilterStructure = {
8
9
  [key: string]: FilterRule;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/aggregate/filters/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,KAAK,cAAc,GACf,MAAM,GACN,SAAS,GACT,QAAQ,GACR,UAAU,GACV,MAAM,GACN,SAAS,GACT,OAAO,GACP,KAAK,GACL,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,GACP,IAAI,GACJ,MAAM,GACN,SAAS,GACT,OAAO,GACP,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,GACN,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,aAAa,GACb,UAAU,GACV,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,iBAAiB,GACjB,UAAU,GACV,aAAa,CAAC;AAElB,KAAK,cAAc,GAAG,CACpB,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACzB,IAAI,CAAC;AAEV,KAAK,UAAU,GACX,cAAc,GACd,cAAc,GACd,CAAC,cAAc,CAAC,GAChB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAExC,KAAK,eAAe,GAAG;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B,CAAC;AAGF,UAAU,aAAa;IACrB,CAAC,MAAM,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,KAAK,EAAE,GAAG,CAAC;QACX,KAAK,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,aAAa,CAAC;KACzB,GAAG,IAAI,CAAC;CACV;AAED,UAAU,cAAc;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAC9B;AAED,UAAU,aAAc,SAAQ,aAAa;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,kBAAkB;IAC1B;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,aAAa,EACb,UAAU,EACV,eAAe,GAChB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/aggregate/filters/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,KAAK,cAAc,GACf,MAAM,GACN,SAAS,GACT,QAAQ,GACR,UAAU,GACV,MAAM,GACN,SAAS,GACT,OAAO,GACP,KAAK,GACL,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,GACP,IAAI,GACJ,MAAM,GACN,SAAS,GACT,OAAO,GACP,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,GACN,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,aAAa,GACb,UAAU,GACV,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,iBAAiB,GACjB,UAAU,GACV,aAAa,CAAC;AAElB,KAAK,cAAc,GAAG,CACpB,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,EAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACzB,IAAI,CAAC;AAEV,KAAK,UAAU,GACX,cAAc,GACd,cAAc,GACd,CAAC,cAAc,CAAC,GAChB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAExC,KAAK,eAAe,GAAG;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B,CAAC;AAGF,UAAU,aAAa;IACrB,CAAC,MAAM,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,KAAK,EAAE,GAAG,CAAC;QACX,KAAK,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,aAAa,CAAC;KACzB,GAAG,IAAI,CAAC;CACV;AAED,UAAU,cAAc;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAC9B;AAED,UAAU,aAAc,SAAQ,aAAa;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,kBAAkB;IAC1B;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,aAAa,EACb,UAAU,EACV,eAAe,GAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/aggregate/filters/utils.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,CAQ/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAY3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,GAAG,GACT,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAMrB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/aggregate/filters/utils.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,CAY/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAY3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,GAAG,GACT,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAMrB"}
@@ -4,9 +4,11 @@ import dayjs from'dayjs';/**
4
4
  function returnAsArray(value) {
5
5
  if (!Array.isArray(value)) {
6
6
  if (value && typeof value === "object" && "toArray" in value) {
7
- return value.toArray();
7
+ const result = value.toArray();
8
+ return result;
8
9
  }
9
- return [value];
10
+ const result = [value];
11
+ return result;
10
12
  }
11
13
  return value;
12
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/aggregate/filters/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"yBAEA;;AAEG;AACG,SAAU,aAAa,CAAC,KAAU,EAAA;AACtC,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE;AAC5D,YAAA,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;AACxB,SAAA;QACD,OAAO,CAAC,KAAK,CAAC,CAAC;AAChB,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;AAEG;AACa,SAAA,SAAS,CAAC,KAAU,EAAE,MAAe,EAAA;IACnD,IAAI,KAAK,YAAY,IAAI;AAAE,QAAA,OAAO,KAAK,CAAC;AAExC,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;QACtD,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,KAAA;AAED,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACtC,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;AAEG;AACa,SAAA,mBAAmB,CACjC,OAAiB,EACjB,KAAU,EAAA;IAEV,MAAM,eAAe,GAAwB,EAAE,CAAC;AAChD,IAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAC5B,QAAA,eAAe,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;AACjC,KAAA;AACD,IAAA,OAAO,eAAe,CAAC;AACzB"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/aggregate/filters/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"yBAEA;;AAEG;AACG,SAAU,aAAa,CAAC,KAAU,EAAA;AACtC,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE;AAC5D,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;AAC/B,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;AAED,QAAA,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,OAAO,MAAM,CAAC;AACf,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;AAEG;AACa,SAAA,SAAS,CAAC,KAAU,EAAE,MAAe,EAAA;IACnD,IAAI,KAAK,YAAY,IAAI;AAAE,QAAA,OAAO,KAAK,CAAC;AAExC,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;QACtD,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,KAAA;AAED,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACtC,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;AAEG;AACa,SAAA,mBAAmB,CACjC,OAAiB,EACjB,KAAU,EAAA;IAEV,MAAM,eAAe,GAAwB,EAAE,CAAC;AAChD,IAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAC5B,QAAA,eAAe,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;AACjC,KAAA;AACD,IAAA,OAAO,eAAe,CAAC;AACzB"}
@@ -4,6 +4,14 @@ import { Aggregate } from "../aggregate";
4
4
  import type { Model } from "../model/model";
5
5
  import type { Joinable, JoinableProxy } from "./joinable";
6
6
  import type { ChunkCallback, Document, Filter, PaginationListing } from "./types";
7
+ type JoiningOptions = {
8
+ where?: GenericObject;
9
+ query?: (query: JoinableProxy) => any;
10
+ as?: string;
11
+ select?: string[];
12
+ pipeline?: (GenericObject | Pipeline)[];
13
+ joining?: (string | JoinableProxy | JoiningOptions)[];
14
+ };
7
15
  export declare class ModelAggregate<T extends Model> extends Aggregate {
8
16
  protected readonly model: typeof Model;
9
17
  /**
@@ -51,14 +59,39 @@ export declare class ModelAggregate<T extends Model> extends Aggregate {
51
59
  */
52
60
  delete(): Promise<number>;
53
61
  /**
54
- * Perform a join
62
+ * Include a related collection in the query results based on a defined relationship.
63
+ *
64
+ * @param relationName - The name of the relationship as defined in the static relations property
65
+ * @param options - Optional. Override or extend the base relationship configuration
66
+ * @returns The query builder for chaining
67
+ *
68
+ * @example
69
+ * // Basic usage with defaults from relation definition
70
+ * Post.aggregate().joining("author").get();
71
+ *
72
+ * // With overrides
73
+ * Post.aggregate().joining("author", {
74
+ * select: ["id", "name", "avatar"],
75
+ * where: { isActive: true }
76
+ * }).get();
77
+ *
78
+ * @example
79
+ * // Using a function to override the query
80
+ * Post.aggregate().joining("author", query => {
81
+ * query.where("id", 1);
82
+ * }).get();
83
+ *
84
+ * @example
85
+ * // Using multiple options
86
+ * Post.aggregate().joining("author", {
87
+ * select: ["id", "name", "avatar"],
88
+ * where: { isActive: true },
89
+ * query: query => {
90
+ * query.where("id", 1);
91
+ * }
92
+ * }).get();
55
93
  */
56
- joining(joining: string | JoinableProxy, options?: {
57
- where?: GenericObject;
58
- select?: string[];
59
- pipeline: (GenericObject | Pipeline)[];
60
- as?: string;
61
- } | ((query: JoinableProxy) => any)): this;
94
+ joining(joining: string | JoinableProxy, options?: JoiningOptions | ((query: JoinableProxy) => any)): this;
62
95
  /**
63
96
  * Get joinable instance for current model
64
97
  */
@@ -72,13 +105,10 @@ export declare class ModelAggregate<T extends Model> extends Aggregate {
72
105
  pipeline: (GenericObject | Pipeline)[];
73
106
  as?: string;
74
107
  }): this;
75
- /**
76
- * Join the given alias
77
- */
78
- with(alias: string, ...moreParams: any[]): this;
79
108
  /**
80
109
  * Clone the aggregate model class
81
110
  */
82
111
  clone(): this;
83
112
  }
113
+ export {};
84
114
  //# sourceMappingURL=ModelAggregate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelAggregate.d.ts","sourceRoot":"","sources":["../../src/model/ModelAggregate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAQ,SAAS,EAAkB,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,MAAM,EACN,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,qBAAa,cAAc,CAAC,CAAC,SAAS,KAAK,CAAE,SAAQ,SAAS;IAUzC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK;IATzD;;;OAGG;IACH,SAAS,CAAC,WAAW,EAAE,aAAa,CAAM;IAE1C;;OAEG;gBACmC,KAAK,EAAE,OAAO,KAAK;IAKzD;;OAEG;IACU,GAAG,CAAC,MAAM,GAAG,CAAC,EACzB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC;IAmBpB;;OAEG;IACU,YAAY,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ,EACxD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,CAAC,CAAC;IAIb;;;;;OAKG;IACU,aAAa,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ,EACzD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,CAAC,EAAE,CAAC;IAQf;;OAEG;IACU,KAAK,CAAC,MAAM,GAAG,CAAC,EAC3B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,EAC/B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG;IAK9B;;OAEG;IACU,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG;IAI/C;;OAEG;IACU,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM;IAIlC;;OAEG;IACU,QAAQ,CAAC,CAAC,GAAG,CAAC,EACzB,IAAI,SAAI,EACR,KAAK,SAAqB,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAIhC;;OAEG;IACU,MAAM;IAUnB;;OAEG;IACI,OAAO,CACZ,OAAO,EAAE,MAAM,GAAG,aAAa,EAC/B,OAAO,CAAC,EACJ;QACE,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,EAAE,CAAC;QACvC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,GACD,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,GAAG,CAAC;IA+BrC;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAgBjD;;OAEG;IACI,YAAY,CACjB,OAAO,EAAE,MAAM,GAAG,aAAa,EAC/B,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,EAAE,CAAC;QACvC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb;IAeH;;OAEG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE;IAqC/C;;OAEG;IACI,KAAK;CAOb"}
1
+ {"version":3,"file":"ModelAggregate.d.ts","sourceRoot":"","sources":["../../src/model/ModelAggregate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import {colors}from'@mongez/copper';import {toStudlyCase}from'@mongez/reinforcements';import {$agg}from'../aggregate/expressions.js';import'@mongez/supportive-is';import'@mongez/time-wizard';import {selectPipeline}from'../aggregate/SelectPipeline.js';import {Aggregate}from'../aggregate/aggregate.js';import {joinableProxy}from'../utils/joinable-proxy.js';class ModelAggregate extends Aggregate {
1
+ import {colors}from'@mongez/copper';import {$agg}from'../aggregate/expressions.js';import'@mongez/supportive-is';import'@mongez/time-wizard';import {Aggregate}from'../aggregate/aggregate.js';import {joinableProxy}from'../utils/joinable-proxy.js';class ModelAggregate extends Aggregate {
2
2
  model;
3
3
  /**
4
4
  * Joining list
@@ -83,7 +83,37 @@ import {colors}from'@mongez/copper';import {toStudlyCase}from'@mongez/reinforcem
83
83
  return records.length;
84
84
  }
85
85
  /**
86
- * Perform a join
86
+ * Include a related collection in the query results based on a defined relationship.
87
+ *
88
+ * @param relationName - The name of the relationship as defined in the static relations property
89
+ * @param options - Optional. Override or extend the base relationship configuration
90
+ * @returns The query builder for chaining
91
+ *
92
+ * @example
93
+ * // Basic usage with defaults from relation definition
94
+ * Post.aggregate().joining("author").get();
95
+ *
96
+ * // With overrides
97
+ * Post.aggregate().joining("author", {
98
+ * select: ["id", "name", "avatar"],
99
+ * where: { isActive: true }
100
+ * }).get();
101
+ *
102
+ * @example
103
+ * // Using a function to override the query
104
+ * Post.aggregate().joining("author", query => {
105
+ * query.where("id", 1);
106
+ * }).get();
107
+ *
108
+ * @example
109
+ * // Using multiple options
110
+ * Post.aggregate().joining("author", {
111
+ * select: ["id", "name", "avatar"],
112
+ * where: { isActive: true },
113
+ * query: query => {
114
+ * query.where("id", 1);
115
+ * }
116
+ * }).get();
87
117
  */
88
118
  joining(joining, options) {
89
119
  joining = this.getJoinable(joining);
@@ -94,12 +124,16 @@ import {colors}from'@mongez/copper';import {toStudlyCase}from'@mongez/reinforcem
94
124
  if (options?.where) {
95
125
  joining.where(options.where);
96
126
  }
127
+ if (options?.query) {
128
+ options.query(joining);
129
+ }
97
130
  if (options?.select) {
98
131
  joining.select(...options.select);
99
132
  }
100
133
  if (options?.as) {
101
134
  joining.as(options.as);
102
135
  }
136
+ if (options?.joining) ;
103
137
  if (options?.pipeline) {
104
138
  joining.addPipelines(options.pipeline);
105
139
  }
@@ -137,31 +171,6 @@ import {colors}from'@mongez/copper';import {toStudlyCase}from'@mongez/reinforcem
137
171
  })
138
172
  .deselect([as]);
139
173
  }
140
- /**
141
- * Join the given alias
142
- */
143
- with(alias, ...moreParams) {
144
- const method = `with${toStudlyCase(alias)}`;
145
- const relation = this.model[method];
146
- if (!relation) {
147
- throw new Error(`Relation ${alias} not found`);
148
- }
149
- const { model, localField, as, foreignField, single = false, select: selectColumns, pipeline = [], } = relation.call(this.model, ...moreParams);
150
- if (selectColumns) {
151
- pipeline.push(selectPipeline(selectColumns));
152
- }
153
- this.lookup({
154
- as,
155
- single,
156
- from: model.collection,
157
- // related to from field
158
- foreignField: foreignField || `${as}.id`,
159
- // related to current model
160
- localField: localField || "id",
161
- pipeline,
162
- });
163
- return this;
164
- }
165
174
  /**
166
175
  * Clone the aggregate model class
167
176
  */