@warlock.js/cascade 2.7.4 → 2.8.0

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 +1 -1
  25. package/cjs/query/query.d.ts.map +1 -1
  26. package/cjs/query/query.js +11 -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 +1 -1
  52. package/esm/query/query.d.ts.map +1 -1
  53. package/esm/query/query.js +11 -5
  54. package/esm/query/query.js.map +1 -1
  55. package/package.json +2 -2
@@ -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 @@
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":["WherePipeline","WhereExpression"],"mappings":"6GAIM,MAAO,eAAgB,SAAQA,2BAAa,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,CAACC,+BAAe,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":["WherePipeline","WhereExpression"],"mappings":"6GAIM,MAAO,eAAgB,SAAQA,2BAAa,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,CAACC,+BAAe,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.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":["booleanFilters","numericFilters","dateFilters","WhereExpression"],"mappings":"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"}
1
+ {"version":3,"file":"apply-filters.js","sources":["../../../src/aggregate/filters/apply-filters.ts"],"sourcesContent":[null],"names":["booleanFilters","numericFilters","dateFilters","WhereExpression"],"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 @@
78
78
  const values = utils.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(utils.createColumnsObject(columns, { $in: values }));
@@ -1 +1 @@
1
- {"version":3,"file":"numeric-filters.js","sources":["../../../src/aggregate/filters/numeric-filters.ts"],"sourcesContent":[null],"names":["createColumnsObject","returnAsArray"],"mappings":"6CAGa,MAAA,cAAc,GAAkC;AAC3D,IAAA,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AAC5C,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC/B,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;YAClB,KAAK,CAAC,OAAO,CAACA,yBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvD,SAAA;KACF;AACD,IAAA,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AAC9C,QAAA,MAAM,MAAM,GAAGC,mBAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC/B,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;AAClB,YAAA,KAAK,CAAC,OAAO,CAACD,yBAAmB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9D,SAAA;KACF;AACD,IAAA,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AACzC,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC/B,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;YAClB,KAAK,CAAC,OAAO,CAACA,yBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvD,SAAA;KACF;AACD,IAAA,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AAC7C,QAAA,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;KACvD;AACD,IAAA,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AAC5C,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,MAAM,EAAE;YACV,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;AAClB,YAAA,KAAK,CAAC,OAAO,CAACA,yBAAmB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAChE,SAAA;KACF;AACD,IAAA,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AAC5C,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,MAAM,EAAE;YACV,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACpC,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;AAClB,YAAA,KAAK,CAAC,OAAO,CAACA,yBAAmB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAChE,SAAA;KACF;AACD,IAAA,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AAC7C,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,MAAM,EAAE;YACV,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;AAClB,YAAA,KAAK,CAAC,OAAO,CAACA,yBAAmB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AACjE,SAAA;KACF;AACD,IAAA,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AAC5C,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,MAAM,EAAE;YACV,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACpC,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;AAClB,YAAA,KAAK,CAAC,OAAO,CAACA,yBAAmB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAChE,SAAA;KACF;AACD,IAAA,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AAC7C,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,MAAM,EAAE;YACV,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;AAClB,YAAA,KAAK,CAAC,OAAO,CAACA,yBAAmB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AACjE,SAAA;KACF;AACD,IAAA,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AAC3C,QAAA,MAAM,MAAM,GAAGC,mBAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC/B,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;AAClB,YAAA,KAAK,CAAC,OAAO,CAACD,yBAAmB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9D,SAAA;KACF;AACD,IAAA,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AAC3C,QAAA,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AACrC,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACjC,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;YAClB,KAAK,CAAC,OAAO,CAACA,yBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACzD,SAAA;KACF;AACD,IAAA,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AAC5C,QAAA,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;KACzD;"}
1
+ {"version":3,"file":"numeric-filters.js","sources":["../../../src/aggregate/filters/numeric-filters.ts"],"sourcesContent":[null],"names":["createColumnsObject","returnAsArray"],"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 @@
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":["dayjs"],"mappings":"gKAEA;;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,OAAOA,sBAAK,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":["dayjs"],"mappings":"gKAEA;;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,OAAOA,sBAAK,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
- 'use strict';var copper=require('@mongez/copper'),reinforcements=require('@mongez/reinforcements'),expressions=require('../aggregate/expressions.js');require('@mongez/supportive-is'),require('@mongez/time-wizard');var SelectPipeline=require('../aggregate/SelectPipeline.js'),aggregate=require('../aggregate/aggregate.js'),joinableProxy=require('../utils/joinable-proxy.js');class ModelAggregate extends aggregate.Aggregate {
1
+ 'use strict';var copper=require('@mongez/copper'),expressions=require('../aggregate/expressions.js');require('@mongez/supportive-is'),require('@mongez/time-wizard');var aggregate=require('../aggregate/aggregate.js'),joinableProxy=require('../utils/joinable-proxy.js');class ModelAggregate extends aggregate.Aggregate {
2
2
  model;
3
3
  /**
4
4
  * Joining list
@@ -83,7 +83,37 @@
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 @@
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 @@
137
171
  })
138
172
  .deselect([as]);
139
173
  }
140
- /**
141
- * Join the given alias
142
- */
143
- with(alias, ...moreParams) {
144
- const method = `with${reinforcements.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.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
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ModelAggregate.js","sources":["../../src/model/ModelAggregate.ts"],"sourcesContent":[null],"names":["Aggregate","colors","joinableProxy","$agg","toStudlyCase","selectPipeline"],"mappings":"sXAeM,MAAO,cAAgC,SAAQA,mBAAS,CAAA;AAUtB,IAAA,KAAA,CAAA;AATtC;;;AAGG;IACO,WAAW,GAAkB,EAAE,CAAC;AAE1C;;AAEG;AACH,IAAA,WAAA,CAAsC,KAAmB,EAAA;AACvD,QAAA,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QADY,IAAK,CAAA,KAAA,GAAL,KAAK,CAAc;AAEvD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;KAC1B;AAED;;AAEG;IACI,MAAM,GAAG,CACd,OAA8B,EAAA;QAE9B,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,GAAG,CAAC,MAAW,KAAI;gBACxB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAErC,gBAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;oBACvC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEjC,oBAAA,IAAI,CAAC,IAAI;wBAAE,SAAS;AAEpB,oBAAA,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,iBAAA;AAED,gBAAA,OAAO,KAAK,CAAC;AACf,aAAC,CAAC;AACH,SAAA;QACD,QAAQ,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAc;KAC/C;AAED;;AAEG;IACI,MAAM,YAAY,CACvB,IAAU,EAAA;AAEV,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAO,CAAC;KACvE;AAED;;;;;AAKG;IACI,MAAM,aAAa,CACxB,IAAU,EAAA;AAEV,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAEjC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAM,KAAK,KAAI,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEtE,QAAA,OAAO,OAAO,CAAC;KAChB;AAED;;AAEG;AACI,IAAA,MAAM,KAAK,CAChB,KAAa,EACb,QAA+B,EAC/B,OAA4B,EAAA;QAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC9C;AAED;;AAEG;IACI,MAAM,KAAK,CAAC,OAA4B,EAAA;QAC7C,QAAQ,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAmB;KACtD;AAED;;AAEG;IACI,MAAM,IAAI,CAAC,OAAgB,EAAA;QAChC,QAAQ,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAmB;KACrD;AAED;;AAEG;AACI,IAAA,MAAM,QAAQ,CACnB,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAA;QAE1B,OAAO,MAAM,KAAK,CAAC,QAAQ,CAAI,IAAI,EAAE,KAAK,CAAC,CAAC;KAC7C;AAED;;AAEG;AACI,IAAA,MAAM,MAAM,GAAA;AACjB,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;AAEjC,QAAA,OAAO,CAAC,OAAO,CAAC,OAAO,KAAU,KAAI;AACnC,YAAA,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;AACxB,SAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,MAAM,CAAC;KACvB;AAED;;AAEG;IACI,OAAO,CACZ,OAA+B,EAC/B,OAOmC,EAAA;AAEnC,QAAA,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEpC,QAAA,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC;AAClB,SAAA;AAAM,aAAA;YACL,IAAI,OAAO,EAAE,KAAK,EAAE;AAClB,gBAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,aAAA;YAED,IAAI,OAAO,EAAE,MAAM,EAAE;gBACnB,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACnC,aAAA;YAED,IAAI,OAAO,EAAE,EAAE,EAAE;AACf,gBAAA,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACxB,aAAA;YAED,IAAI,OAAO,EAAE,QAAQ,EAAE;AACrB,gBAAA,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACxC,aAAA;AACF,SAAA;AAED,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;AAE7B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;AAElD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC1B;AAED;;AAEG;AACO,IAAA,WAAW,CAAC,QAA2B,EAAA;AAC/C,QAAA,IAAI,cAAwB,CAAC;AAC7B,QAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAa,CAAC;YAC5D,IAAI,CAAC,cAAc,EAAE;AACnB,gBAAA,MAAM,IAAI,KAAK,CACb,8BAA8BC,aAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA,gBAAA,CAAkB,CACjG,CAAC;AACH,aAAA;AACF,SAAA;AAAM,aAAA;YACL,cAAc,GAAG,QAAQ,CAAC;AAC3B,SAAA;AAED,QAAA,OAAOC,2BAAa,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;KAC9C;AAED;;AAEG;IACI,YAAY,CACjB,OAA+B,EAC/B,OAKC,EAAA;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEnC,QAAA,MAAM,QAAQ,GAAG,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,UAAU,IAAI,OAAO,CAAC;AAE7D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC;aACxC,QAAQ,CAAC,QAAQ,EAAE;AAClB,YAAA,KAAK,EAAEC,gBAAI,CAAC,UAAU,CAAC,EAAE,CAAC;SAC3B,CAAC;AACD,aAAA,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACnB;AAED;;AAEG;AACI,IAAA,IAAI,CAAC,KAAa,EAAE,GAAG,UAAiB,EAAA;QAC7C,MAAM,MAAM,GAAG,CAAO,IAAA,EAAAC,2BAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAE5C,MAAM,QAAQ,GAAI,IAAI,CAAC,KAAa,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,CAAA,UAAA,CAAY,CAAC,CAAC;AAChD,SAAA;AAED,QAAA,MAAM,EACJ,KAAK,EACL,UAAU,EACV,EAAE,EACF,YAAY,EACZ,MAAM,GAAG,KAAK,EACd,MAAM,EAAE,aAAa,EACrB,QAAQ,GAAG,EAAE,GACd,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;AAE7C,QAAA,IAAI,aAAa,EAAE;YACjB,QAAQ,CAAC,IAAI,CAACC,6BAAc,CAAC,aAAa,CAAC,CAAC,CAAC;AAC9C,SAAA;QAED,IAAI,CAAC,MAAM,CAAC;YACV,EAAE;YACF,MAAM;YACN,IAAI,EAAE,KAAK,CAAC,UAAU;;AAEtB,YAAA,YAAY,EAAE,YAAY,IAAI,CAAA,EAAG,EAAE,CAAK,GAAA,CAAA;;YAExC,UAAU,EAAE,UAAU,IAAI,IAAI;YAC9B,QAAQ;AACT,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,KAAK,GAAA;QACV,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjD,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AAE7C,QAAA,OAAO,SAAiB,CAAC;KAC1B;AACF"}
1
+ {"version":3,"file":"ModelAggregate.js","sources":["../../src/model/ModelAggregate.ts"],"sourcesContent":[null],"names":["Aggregate","colors","joinableProxy","$agg"],"mappings":"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"}
@@ -18,7 +18,26 @@ export declare class Model extends CrudModel {
18
18
  */
19
19
  initialData: Partial<ModelSchema>;
20
20
  /**
21
- * Relations list
21
+ * Model relationships defined using the joinable API.
22
+ *
23
+ * Each key represents a relationship name that can be referenced when running queries.
24
+ * Each value defines how to join another collection to the current model.
25
+ *
26
+ * @example
27
+ * Basic definition:
28
+ * ```ts
29
+ * public static relations = {
30
+ * // Join users collection where local createdBy.id matches user's id
31
+ * author: User.joinable("createdBy.id", "id").single().as("author"),
32
+ * }
33
+ * ```
34
+ *
35
+ * @usage
36
+ * Example of calling:
37
+ * ```ts
38
+ * Post.aggregate().joining("author").get(); // use `joining` method to join the `author` relationship
39
+ * // Where `author` is the name of the relationship defined in the `relations` property
40
+ * ```
22
41
  */
23
42
  static relations: Record<string, Joinable>;
24
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"AAYA,OAAO,EAAoB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EACV,QAAQ,EACR,KAAK,EACL,UAAU,EAEV,WAAW,EACX,QAAQ,EACR,aAAa,EACd,MAAM,SAAS,CAAC;AAKjB,MAAM,MAAM,MAAM,CAAC,WAAW,GAAG,QAAQ,IAAI,WAAW,GAAG;IACzD,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB,CAAC;AAEF,KAAK,WAAW,GAAG,MAAM,CAAC;AAE1B,qBAAa,KAKX,SAAQ,SAAS;IAEjB;;OAEG;IACI,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAM;IAE9C;;OAEG;IACH,OAAc,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAM;IAEvD;;OAEG;IACI,IAAI,EAAG,WAAW,CAAC;IAE1B;;;OAGG;IACI,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAM;IAE/C;;OAEG;IACH,SAAS,CAAC,UAAU,UAAS;IAE7B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,CAAM;IAE5B;;OAEG;IACI,QAAQ,EAAE,SAAS,EAAE,CAAM;IAElC;;;;OAIG;IACH,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAM;IAEhD;;OAEG;IACI,OAAO,EAAE,CAAC,MAAM,aAAa,CAAC,EAAE,CAAM;IAE7C;;OAEG;IACI,MAAM,EAAE,CAAC,MAAM,aAAa,CAAC,EAAE,CAAM;IAE5C;;OAEG;IACI,QAAQ,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,CAAM;IAE5C;;OAEG;IACI,cAAc,EAAE,CAAC,MAAM,aAAa,CAAC,EAAE,CAAM;IAEpD;;OAEG;IACI,sCAAsC,UAAS;IAEtD;;OAEG;IACI,eAAe,SAAe;IAErC;;OAEG;IACI,eAAe,SAAe;IAErC;;OAEG;IACI,eAAe,SAAe;IAErC;;OAEG;IACI,eAAe,SAAe;IAErC;;OAEG;IACI,eAAe,SAAe;IAErC;;OAEG;IACI,eAAe,SAAe;IAErC;;OAEG;IACI,UAAU,SAAgB;IAEjC;;OAEG;IACH,SAAS,CAAC,eAAe,UAAS;IAElC;;OAEG;IACH,SAAS,CAAC,cAAc,SAAc;IAEtC;;OAEG;IACI,YAAY,EAAE,WAAW,CAAqB;IAErD;;OAEG;IACI,YAAY,EAAE,MAAM,CACzB,MAAM,EACN;QACE,QAAQ,EAAE,GAAG,CAAC;QACd,QAAQ,EAAE,GAAG,CAAC;KACf,CACF,CAAM;IAEP;;OAEG;gBACgB,YAAY,GAAE,OAAO,CAAC,WAAW,CAAM;IA8B1D;;OAEG;IACH,IAAW,WAAW,aAErB;IAED;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG;IAI/C;;OAEG;IACH,IAAW,UAAU,QAEpB;IAED;;OAEG;IACH,IAAW,WAAW,QAErB;IAED;;OAEG;IACH,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAW,QAAQ,YAElB;IAED;;OAEG;IACH,IAAW,GAAG,IAAI,QAAQ,CAEzB;IAED;;OAEG;IACI,cAAc;IAIrB;;OAEG;IACI,GAAG,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,KAAK,EAAE,GAAG;IAchD;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,KAAK,SAAI;IAIrD;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,KAAK,SAAI;IAIrD;;OAEG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG;IAI/D;;OAEG;IACI,GAAG,CAAC,SAAS,GAAG,GAAG,EACxB,MAAM,EAAE,MAAM,WAAW,EACzB,YAAY,CAAC,EAAE,GAAG,GACjB,SAAS;IAIZ;;OAEG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG;IAI3D;;OAEG;IACI,GAAG,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG;IAIxD;;OAEG;IACI,KAAK,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG;IAI1D;;OAEG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG;IAI3D;;OAEG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG;IAIzD;;OAEG;IACI,GAAG,CAAC,MAAM,EAAE,MAAM,WAAW;IAIpC;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,GAAG,QAAQ;IAIvD;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,GAAG,QAAQ;IAIrD;;OAEG;IACH,IAAW,MAAM,aAEhB;IAED;;OAEG;IACI,KAAK,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE;IAc9C;;OAEG;IACI,KAAK,CAAC,MAAM,EAAE,MAAM,WAAW;IAMtC;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,WAAW;IAoBpC;;OAEG;IACI,KAAK,CAAC,IAAI,EAAE,QAAQ;IAqB3B;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAYvD;;OAEG;IACI,QAAQ,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAa3D;;;;OAIG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAY1D;;OAEG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;cAa9C,sBAAsB,CACpC,IAAI,GAAE,OAAc,EACpB,aAAa,GAAE,OAAc;IAqD/B;;OAEG;IACU,IAAI,CACf,UAAU,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,KAAK,CAAC,EAC5C,EACE,aAAoB,EACpB,IAAW,EACX,WAAmB,GACpB,GAAE;QACD,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,WAAW,CAAC,EAAE,OAAO,CAAC;KAClB;IAoHR;;OAEG;IACU,cAAc;IAS3B;;OAEG;IACI,oBAAoB;IAc3B;;OAEG;IACI,oBAAoB,CAAC,QAAQ,EAAE,KAAK;IAc3C;;OAEG;IACU,YAAY,CACvB,UAAU,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,KAAK,CAAC,EAC5C,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;IAQ9B;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW;IAInE;;OAEG;cACa,QAAQ;IAIxB;;OAEG;cACa,OAAO;IAIvB;;OAEG;cACa,UAAU;IAI1B;;OAEG;cACa,SAAS;IAIzB;;OAEG;cACa,UAAU;IAI1B;;OAEG;cACa,SAAS;IAIzB;;OAEG;cACa,UAAU;IAI1B;;OAEG;cACa,SAAS;IAIzB;;OAEG;cACa,QAAQ,CAAC,WAAW,UAAQ;IAkG5C;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE;IAInC;;OAEG;IACI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE;IAIrC;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ;IAiGlD;;OAEG;IACH,SAAS,CAAC,kBAAkB;IAkB5B;;OAEG;IACU,OAAO;IAqDpB;;;;OAIG;IACI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IAa9B;;OAEG;IACI,UAAU;IAWjB;;OAEG;IACH,IAAW,YAAY,QAiBtB;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,GAAE,QAAoB;IAIvC;;OAEG;IACI,OAAO,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EACpC,UAAU,EAAE,OAAO,KAAK,EACxB,MAAM,EAAE,MAAM;IAKhB;;OAEG;WACW,SAAS,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAIpE;;OAEG;WACW,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC;IAI/C;;;OAGG;WACW,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAIvE;;OAEG;WACW,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,WAAW,SAAc;IAIxE;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,KAAK;IAMnE;;;OAGG;IACI,eAAe;IAMtB;;;OAGG;WACW,QAAQ,CACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,WAAW,SAAc;IAK3B;;;;;;;OAOG;IACI,WAAW,CAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,GAAG,EAClC,SAAS,CAAC,EAAE,MAAM;IA6BpB;;OAEG;IACI,SAAS,CACd,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,GAAG,EAClC,SAAS,CAAC,EAAE,MAAM;IAoBpB;;OAEG;IACI,YAAY,CACjB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,GAAG;IAuBpC;;;OAGG;IACU,OAAO;IAcpB;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAepC;;OAEG;IACI,oBAAoB,CACzB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,UAAU,EAAE,SAAS,EAAE;IASzB;;OAEG;WACW,QAAQ;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,OAAO,EAChB,EAAE,CAAC,EAAE,MAAM;CAsBd;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"AAYA,OAAO,EAAoB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EACV,QAAQ,EACR,KAAK,EACL,UAAU,EAEV,WAAW,EACX,QAAQ,EACR,aAAa,EACd,MAAM,SAAS,CAAC;AAKjB,MAAM,MAAM,MAAM,CAAC,WAAW,GAAG,QAAQ,IAAI,WAAW,GAAG;IACzD,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB,CAAC;AAEF,KAAK,WAAW,GAAG,MAAM,CAAC;AAE1B,qBAAa,KAKX,SAAQ,SAAS;IAEjB;;OAEG;IACI,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAM;IAE9C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAc,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAM;IAEvD;;OAEG;IACI,IAAI,EAAG,WAAW,CAAC;IAE1B;;;OAGG;IACI,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAM;IAE/C;;OAEG;IACH,SAAS,CAAC,UAAU,UAAS;IAE7B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,CAAM;IAE5B;;OAEG;IACI,QAAQ,EAAE,SAAS,EAAE,CAAM;IAElC;;;;OAIG;IACH,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAM;IAEhD;;OAEG;IACI,OAAO,EAAE,CAAC,MAAM,aAAa,CAAC,EAAE,CAAM;IAE7C;;OAEG;IACI,MAAM,EAAE,CAAC,MAAM,aAAa,CAAC,EAAE,CAAM;IAE5C;;OAEG;IACI,QAAQ,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,CAAM;IAE5C;;OAEG;IACI,cAAc,EAAE,CAAC,MAAM,aAAa,CAAC,EAAE,CAAM;IAEpD;;OAEG;IACI,sCAAsC,UAAS;IAEtD;;OAEG;IACI,eAAe,SAAe;IAErC;;OAEG;IACI,eAAe,SAAe;IAErC;;OAEG;IACI,eAAe,SAAe;IAErC;;OAEG;IACI,eAAe,SAAe;IAErC;;OAEG;IACI,eAAe,SAAe;IAErC;;OAEG;IACI,eAAe,SAAe;IAErC;;OAEG;IACI,UAAU,SAAgB;IAEjC;;OAEG;IACH,SAAS,CAAC,eAAe,UAAS;IAElC;;OAEG;IACH,SAAS,CAAC,cAAc,SAAc;IAEtC;;OAEG;IACI,YAAY,EAAE,WAAW,CAAqB;IAErD;;OAEG;IACI,YAAY,EAAE,MAAM,CACzB,MAAM,EACN;QACE,QAAQ,EAAE,GAAG,CAAC;QACd,QAAQ,EAAE,GAAG,CAAC;KACf,CACF,CAAM;IAEP;;OAEG;gBACgB,YAAY,GAAE,OAAO,CAAC,WAAW,CAAM;IA8B1D;;OAEG;IACH,IAAW,WAAW,aAErB;IAED;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG;IAI/C;;OAEG;IACH,IAAW,UAAU,QAEpB;IAED;;OAEG;IACH,IAAW,WAAW,QAErB;IAED;;OAEG;IACH,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAW,QAAQ,YAElB;IAED;;OAEG;IACH,IAAW,GAAG,IAAI,QAAQ,CAEzB;IAED;;OAEG;IACI,cAAc;IAIrB;;OAEG;IACI,GAAG,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,KAAK,EAAE,GAAG;IAchD;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,KAAK,SAAI;IAIrD;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,KAAK,SAAI;IAIrD;;OAEG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG;IAI/D;;OAEG;IACI,GAAG,CAAC,SAAS,GAAG,GAAG,EACxB,MAAM,EAAE,MAAM,WAAW,EACzB,YAAY,CAAC,EAAE,GAAG,GACjB,SAAS;IAIZ;;OAEG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG;IAI3D;;OAEG;IACI,GAAG,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG;IAIxD;;OAEG;IACI,KAAK,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG;IAI1D;;OAEG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG;IAI3D;;OAEG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG;IAIzD;;OAEG;IACI,GAAG,CAAC,MAAM,EAAE,MAAM,WAAW;IAIpC;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,GAAG,QAAQ;IAIvD;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,GAAG,QAAQ;IAIrD;;OAEG;IACH,IAAW,MAAM,aAEhB;IAED;;OAEG;IACI,KAAK,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE;IAc9C;;OAEG;IACI,KAAK,CAAC,MAAM,EAAE,MAAM,WAAW;IAMtC;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,WAAW;IAoBpC;;OAEG;IACI,KAAK,CAAC,IAAI,EAAE,QAAQ;IAqB3B;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAYvD;;OAEG;IACI,QAAQ,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAa3D;;;;OAIG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAY1D;;OAEG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;cAa9C,sBAAsB,CACpC,IAAI,GAAE,OAAc,EACpB,aAAa,GAAE,OAAc;IAqD/B;;OAEG;IACU,IAAI,CACf,UAAU,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,KAAK,CAAC,EAC5C,EACE,aAAoB,EACpB,IAAW,EACX,WAAmB,GACpB,GAAE;QACD,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,WAAW,CAAC,EAAE,OAAO,CAAC;KAClB;IAoHR;;OAEG;IACU,cAAc;IAS3B;;OAEG;IACI,oBAAoB;IAc3B;;OAEG;IACI,oBAAoB,CAAC,QAAQ,EAAE,KAAK;IAc3C;;OAEG;IACU,YAAY,CACvB,UAAU,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,KAAK,CAAC,EAC5C,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;IAQ9B;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW;IAInE;;OAEG;cACa,QAAQ;IAIxB;;OAEG;cACa,OAAO;IAIvB;;OAEG;cACa,UAAU;IAI1B;;OAEG;cACa,SAAS;IAIzB;;OAEG;cACa,UAAU;IAI1B;;OAEG;cACa,SAAS;IAIzB;;OAEG;cACa,UAAU;IAI1B;;OAEG;cACa,SAAS;IAIzB;;OAEG;cACa,QAAQ,CAAC,WAAW,UAAQ;IAkG5C;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE;IAInC;;OAEG;IACI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE;IAIrC;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ;IAiGlD;;OAEG;IACH,SAAS,CAAC,kBAAkB;IAkB5B;;OAEG;IACU,OAAO;IAqDpB;;;;OAIG;IACI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IAa9B;;OAEG;IACI,UAAU;IAWjB;;OAEG;IACH,IAAW,YAAY,QAiBtB;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,GAAE,QAAoB;IAIvC;;OAEG;IACI,OAAO,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EACpC,UAAU,EAAE,OAAO,KAAK,EACxB,MAAM,EAAE,MAAM;IAKhB;;OAEG;WACW,SAAS,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAIpE;;OAEG;WACW,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC;IAI/C;;;OAGG;WACW,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAIvE;;OAEG;WACW,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,WAAW,SAAc;IAIxE;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,KAAK;IAMnE;;;OAGG;IACI,eAAe;IAMtB;;;OAGG;WACW,QAAQ,CACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,WAAW,SAAc;IAK3B;;;;;;;OAOG;IACI,WAAW,CAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,GAAG,EAClC,SAAS,CAAC,EAAE,MAAM;IA6BpB;;OAEG;IACI,SAAS,CACd,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,GAAG,EAClC,SAAS,CAAC,EAAE,MAAM;IAoBpB;;OAEG;IACI,YAAY,CACjB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,GAAG;IAuBpC;;;OAGG;IACU,OAAO;IAcpB;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAepC;;OAEG;IACI,oBAAoB,CACzB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,UAAU,EAAE,SAAS,EAAE;IASzB;;OAEG;WACW,QAAQ;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,OAAO,EAChB,EAAE,CAAC,EAAE,MAAM;CAsBd;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC"}
@@ -9,7 +9,26 @@
9
9
  */
10
10
  initialData = {};
11
11
  /**
12
- * Relations list
12
+ * Model relationships defined using the joinable API.
13
+ *
14
+ * Each key represents a relationship name that can be referenced when running queries.
15
+ * Each value defines how to join another collection to the current model.
16
+ *
17
+ * @example
18
+ * Basic definition:
19
+ * ```ts
20
+ * public static relations = {
21
+ * // Join users collection where local createdBy.id matches user's id
22
+ * author: User.joinable("createdBy.id", "id").single().as("author"),
23
+ * }
24
+ * ```
25
+ *
26
+ * @usage
27
+ * Example of calling:
28
+ * ```ts
29
+ * Post.aggregate().joining("author").get(); // use `joining` method to join the `author` relationship
30
+ * // Where `author` is the name of the relationship defined in the `relations` property
31
+ * ```
13
32
  */
14
33
  static relations = {};
15
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sources":["../../src/model/model.ts"],"sourcesContent":[null],"names":["CrudModel","clone","ObjectId","get","except","only","set","deepDiff","merge","MongoServerError","areEqual","castModel","castEnum","isEmpty","isPlainObject","dayjs","toUTC","ModelDeleteStrategy","RelationshipWithMany","ModelAggregate","ModelSync","joinable","Joinable","joinableProxy"],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sources":["../../src/model/model.ts"],"sourcesContent":[null],"names":["CrudModel","clone","ObjectId","get","except","only","set","deepDiff","merge","MongoServerError","areEqual","castModel","castEnum","isEmpty","isPlainObject","dayjs","toUTC","ModelDeleteStrategy","RelationshipWithMany","ModelAggregate","ModelSync","joinable","Joinable","joinableProxy"],"mappings":"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"}