nestjs-paginate 12.8.3 → 12.9.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.
package/README.md CHANGED
@@ -589,11 +589,74 @@ const config: PaginateConfig<CatEntity> = {
589
589
 
590
590
  `?filter.roles=$contains:moderator,admin` where column `roles` is an array and contains the values `moderator` and `admin`
591
591
 
592
- ## Jsonb Filters
592
+ ## JSONB Filters
593
593
 
594
- You can filter on jsonb columns by using the dot notation. Json columns is limited to `$eq` operators only.
594
+ You can filter on JSONB columns using dot notation to access nested fields.
595
595
 
596
- `?filter.metadata.enabled=$eq:true` where column `metadata` is jsonb and contains an object with the key `enabled`.
596
+ ### Supported operators
597
+
598
+ | Operator | Description |
599
+ |----------|-------------|
600
+ | `$eq` | Exact match (`column @> '{"key":"value"}'`) |
601
+ | `$in` | Match any of a comma-separated list of values |
602
+
603
+ > **Note:** JSONB filtering is implemented using PostgreSQL's `@>` (containment) operator and is only supported by **PostgreSQL**.
604
+
605
+ ### Direct JSONB column
606
+
607
+ ```
608
+ ?filter.metadata.enabled=$eq:true
609
+ ```
610
+
611
+ where `metadata` is a JSONB column and the filter matches rows whose `metadata` object contains `{ "enabled": true }`.
612
+
613
+ ### JSONB column through a relation
614
+
615
+ Use the same dot notation to traverse relations before accessing the JSONB field:
616
+
617
+ ```
618
+ ?filter.settings.theme=$eq:dark
619
+ ```
620
+
621
+ where `settings` is a relation whose JSONB column `theme` is filtered.
622
+
623
+ ```typescript
624
+ const config: PaginateConfig<UserEntity> = {
625
+ relations: ['settings'],
626
+ filterableColumns: {
627
+ 'settings.theme': [FilterOperator.EQ, FilterOperator.IN],
628
+ },
629
+ }
630
+ ```
631
+
632
+ ### Deeply nested JSONB paths
633
+
634
+ Paths inside the JSON value itself can be arbitrarily deep:
635
+
636
+ ```
637
+ ?filter.settings.ui.sidebar.color=$eq:blue
638
+ ```
639
+
640
+ Regardless of nesting depth, the library walks TypeORM entity metadata to determine where the relation chain ends and the JSON key path begins, then builds the correct `@>` containment expression automatically.
641
+
642
+ ### `$in` operator on JSONB
643
+
644
+ ```
645
+ ?filter.metadata.status=$in:active,pending
646
+ ?filter.settings.theme=$in:dark,light
647
+ ```
648
+
649
+ Each value is expanded into its own `@>` condition joined with `OR`:
650
+
651
+ ```sql
652
+ (col @> '{"status":"active"}' OR col @> '{"status":"pending"}')
653
+ ```
654
+
655
+ `$not:$in` is also supported and produces `NOT` conditions joined with `AND`:
656
+
657
+ ```
658
+ ?filter.metadata.status=$not:$in:banned,suspended
659
+ ```
597
660
 
598
661
  ## Multi Filters
599
662
 
@@ -8,5 +8,6 @@ export declare class CatHomeEntity {
8
8
  pillows: CatHomePillowEntity[];
9
9
  naptimePillow: CatHomePillowEntity | null;
10
10
  createdAt: string;
11
+ config: Record<string, any> | null;
11
12
  countCat: number;
12
13
  }
@@ -45,6 +45,10 @@ __decorate([
45
45
  (0, typeorm_1.CreateDateColumn)(column_option_1.DateColumnNotNull),
46
46
  __metadata("design:type", String)
47
47
  ], CatHomeEntity.prototype, "createdAt", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: process.env.DB === 'postgres' ? 'jsonb' : 'simple-json', nullable: true }),
50
+ __metadata("design:type", Object)
51
+ ], CatHomeEntity.prototype, "config", void 0);
48
52
  __decorate([
49
53
  (0, typeorm_1.VirtualColumn)({
50
54
  query: (alias) => {
@@ -1 +1 @@
1
- {"version":3,"file":"cat-home.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat-home.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCASgB;AAChB,qEAA8D;AAC9D,6CAAwC;AACxC,mDAAmD;AAG5C,IAAM,aAAa,GAAnB,MAAM,aAAa;CA8BzB,CAAA;AA9BY,sCAAa;AAEtB;IADC,IAAA,gCAAsB,GAAE;;yCACf;AAGV;IADC,IAAA,gBAAM,GAAE;;2CACG;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACN;AAGrB;IADC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,sBAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;8BACxC,sBAAS;0CAAA;AAGd;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;;8CAChC;AAG9B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1C,4CAAmB;oDAAO;AAGzC;IADC,IAAA,0BAAgB,EAAC,iCAAiB,CAAC;;gDACnB;AASjB;IAPC,IAAA,uBAAa,EAAC;QACX,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;YACpD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAA;YACjE,OAAO,2BAA2B,OAAO,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,KAAK,KAAK,CAAA;QAC5H,CAAC;KACJ,CAAC;;+CACc;wBA7BP,aAAa;IADzB,IAAA,gBAAM,GAAE;GACI,aAAa,CA8BzB"}
1
+ {"version":3,"file":"cat-home.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat-home.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCASgB;AAChB,qEAA8D;AAC9D,6CAAwC;AACxC,mDAAmD;AAG5C,IAAM,aAAa,GAAnB,MAAM,aAAa;CAiCzB,CAAA;AAjCY,sCAAa;AAEtB;IADC,IAAA,gCAAsB,GAAE;;yCACf;AAGV;IADC,IAAA,gBAAM,GAAE;;2CACG;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACN;AAGrB;IADC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,sBAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;8BACxC,sBAAS;0CAAA;AAGd;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;;8CAChC;AAG9B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1C,4CAAmB;oDAAO;AAGzC;IADC,IAAA,0BAAgB,EAAC,iCAAiB,CAAC;;gDACnB;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACxD;AASlC;IAPC,IAAA,uBAAa,EAAC;QACX,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;YACpD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAA;YACjE,OAAO,2BAA2B,OAAO,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,KAAK,KAAK,CAAA;QAC5H,CAAC;KACJ,CAAC;;+CACc;wBAhCP,aAAa;IADzB,IAAA,gBAAM,GAAE;GACI,aAAa,CAiCzB"}
package/lib/filter.js CHANGED
@@ -169,7 +169,7 @@ function fixColumnFilterValue(column, qb, isJsonb = false) {
169
169
  if (((0, helper_1.isDateColumnType)(columnType) || isJsonb) && (0, helper_1.isISODate)(value)) {
170
170
  return new Date(value);
171
171
  }
172
- if ((columnType === Number || columnType === 'number' || isJsonb) && !Number.isNaN(value)) {
172
+ if ((columnType === Number || columnType === 'number' || isJsonb) && !isNaN(Number(value))) {
173
173
  return Number(value);
174
174
  }
175
175
  return value;
@@ -216,7 +216,7 @@ function parseFilter(query, filterableColumns, qb) {
216
216
  };
217
217
  const fixValue = fixColumnFilterValue(column, qb);
218
218
  const columnProperties = (0, helper_1.getPropertiesByColumnName)(column);
219
- const isJsonb = (0, helper_1.checkIsJsonb)(qb, columnProperties.column);
219
+ const jsonbResolution = (0, helper_1.resolveJsonbPath)(qb, columnProperties.column);
220
220
  switch (token.operator) {
221
221
  case FilterOperator.BTW:
222
222
  params.findOperator = exports.OperatorSymbolToFunction.get(token.operator)(...token.value.split(',').map(fixValue));
@@ -234,29 +234,72 @@ function parseFilter(query, filterableColumns, qb) {
234
234
  default:
235
235
  params.findOperator = exports.OperatorSymbolToFunction.get(token.operator)(fixValue(token.value));
236
236
  }
237
- if (isJsonb) {
238
- const parts = column.split('.');
239
- const dbColumnName = parts[parts.length - 2];
240
- const jsonColumnName = parts[parts.length - 1];
237
+ if (jsonbResolution.isJsonb) {
241
238
  const jsonFixValue = fixColumnFilterValue(column, qb, true);
242
- const jsonParams = {
243
- comparator: params.comparator,
244
- findOperator: (0, typeorm_1.JsonContains)({
245
- [jsonColumnName]: jsonFixValue(token.value),
246
- //! Below seems to not be possible from my understanding, https://github.com/typeorm/typeorm/pull/9665
247
- //! This limits the functionaltiy to $eq only for json columns, which is a bit of a shame.
248
- //! If this is fixed or changed, we can use the commented line below instead.
249
- //[jsonColumnName]: params.findOperator,
250
- }),
239
+ // Use a stable filter key that preserves the relation path so that
240
+ // addWhereCondition can later resolve the correct JOIN alias.
241
+ // e.g. 'detail.referrer.source.platform' → filterKey = 'detail.referrer'
242
+ // 'metadata.length' → filterKey = 'metadata'
243
+ // 'underCoat.metadata.length' → filterKey = 'underCoat.metadata'
244
+ const filterKey = [...jsonbResolution.relationPath, jsonbResolution.jsonbColumn].join('.');
245
+ // Build a JsonContains containment object for a single leaf value.
246
+ // e.g. jsonPath=['source','platform'], value='web' → { source: { platform: 'web' } }
247
+ // jsonPath=['length'], value=5 → { length: 5 }
248
+ const buildContainment = (rawValue) => {
249
+ const leafValue = jsonFixValue(rawValue);
250
+ return jsonbResolution.jsonPath.reduceRight((acc, key) => ({ [key]: acc }), leafValue);
251
251
  };
252
- filter[dbColumnName] = [...(filter[column] || []), jsonParams];
252
+ if (token.operator === FilterOperator.IN) {
253
+ // $in expands each comma-separated value to its own JsonContains condition.
254
+ // Conditions after the first are OR'd together, producing:
255
+ // AND (col @> '{a}' OR col @> '{b}' OR col @> '{c}')
256
+ // which is semantically equivalent to col->>'key' IN ('a', 'b', 'c').
257
+ //
258
+ //! JsonContains uses @> which only supports equality, not range operators.
259
+ //! See: https://github.com/typeorm/typeorm/pull/9665
260
+ token.value.split(',').forEach((val, i) => {
261
+ filter[filterKey] = [
262
+ ...(filter[filterKey] || []),
263
+ {
264
+ comparator: i === 0 ? params.comparator : FilterComparator.OR,
265
+ findOperator: (0, typeorm_1.JsonContains)(buildContainment(val.trim())),
266
+ },
267
+ ];
268
+ });
269
+ }
270
+ else {
271
+ filter[filterKey] = [
272
+ ...(filter[filterKey] || []),
273
+ {
274
+ comparator: params.comparator,
275
+ findOperator: (0, typeorm_1.JsonContains)(buildContainment(token.value)),
276
+ //! JsonContains uses @> operator which only supports $eq semantics.
277
+ //! See: https://github.com/typeorm/typeorm/pull/9665
278
+ },
279
+ ];
280
+ }
253
281
  }
254
282
  else {
255
283
  filter[column] = [...(filter[column] || []), params];
256
284
  }
285
+ // suffix ($not) is applied on the filter key used above.
286
+ // For JSONB $in, $not must be applied to every expanded entry so that
287
+ // NOT (col @> '{a}') AND NOT (col @> '{b}') is produced (NOT IN semantics).
257
288
  if (token.suffix) {
258
- const lastFilterElement = filter[column].length - 1;
259
- filter[column][lastFilterElement].findOperator = exports.OperatorSymbolToFunction.get(token.suffix)(filter[column][lastFilterElement].findOperator);
289
+ const filterKey = jsonbResolution.isJsonb
290
+ ? [...jsonbResolution.relationPath, jsonbResolution.jsonbColumn].join('.')
291
+ : column;
292
+ const isJsonbIn = jsonbResolution.isJsonb && token.operator === FilterOperator.IN;
293
+ const applyFrom = isJsonbIn
294
+ ? filter[filterKey].length - token.value.split(',').length
295
+ : filter[filterKey].length - 1;
296
+ for (let i = applyFrom; i < filter[filterKey].length; i++) {
297
+ filter[filterKey][i].findOperator = exports.OperatorSymbolToFunction.get(token.suffix)(filter[filterKey][i].findOperator);
298
+ // $not:$in means NOT IN — all expanded values are AND'd with NOT
299
+ if (isJsonbIn && i > applyFrom) {
300
+ filter[filterKey][i].comparator = FilterComparator.AND;
301
+ }
302
+ }
260
303
  }
261
304
  }
262
305
  }
package/lib/filter.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":";;;AAgDA,gCAEC;AAMD,4BAEC;AAOD,oCAEC;AAiCD,sCAmDC;AAED,gEAWC;AAED,8CAiCC;AAED,4CAyCC;AAoBD,kCAuGC;AAED,8BAwCC;AAvZD,mCAA+B;AAC/B,qCAgBgB;AAGhB,qCAYiB;AAEjB,IAAY,cAYX;AAZD,WAAY,cAAc;IACtB,4BAAU,CAAA;IACV,4BAAU,CAAA;IACV,8BAAY,CAAA;IACZ,4BAAU,CAAA;IACV,gCAAc,CAAA;IACd,4BAAU,CAAA;IACV,8BAAY,CAAA;IACZ,8BAAY,CAAA;IACZ,kCAAgB,CAAA;IAChB,4BAAU,CAAA;IACV,wCAAsB,CAAA;AAC1B,CAAC,EAZW,cAAc,8BAAd,cAAc,QAYzB;AAED,SAAgB,UAAU,CAAC,KAAc;IACrC,OAAO,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAY,CAAC,CAAA;AACxD,CAAC;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACpB,4BAAY,CAAA;AAChB,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB;AAED,SAAgB,QAAQ,CAAC,KAAc;IACnC,OAAO,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAY,CAAC,CAAA;AACtD,CAAC;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,gCAAY,CAAA;IACZ,8BAAU,CAAA;AACd,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAED,SAAgB,YAAY,CAAC,KAAc;IACvC,OAAO,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAY,CAAC,CAAA;AAC1D,CAAC;AAEY,QAAA,wBAAwB,GAAG,IAAI,GAAG,CAG7C;IACE,CAAC,cAAc,CAAC,EAAE,EAAE,eAAK,CAAC;IAC1B,CAAC,cAAc,CAAC,EAAE,EAAE,kBAAQ,CAAC;IAC7B,CAAC,cAAc,CAAC,GAAG,EAAE,yBAAe,CAAC;IACrC,CAAC,cAAc,CAAC,EAAE,EAAE,YAAE,CAAC;IACvB,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAM,CAAC;IAC7B,CAAC,cAAc,CAAC,EAAE,EAAE,kBAAQ,CAAC;IAC7B,CAAC,cAAc,CAAC,GAAG,EAAE,yBAAe,CAAC;IACrC,CAAC,cAAc,CAAC,GAAG,EAAE,iBAAO,CAAC;IAC7B,CAAC,cAAc,CAAC,KAAK,EAAE,eAAK,CAAC;IAC7B,CAAC,YAAY,CAAC,GAAG,EAAE,aAAG,CAAC;IACvB,CAAC,cAAc,CAAC,EAAE,EAAE,eAAK,CAAC;IAC1B,CAAC,cAAc,CAAC,QAAQ,EAAE,uBAAa,CAAC;CAC3C,CAAC,CAAA;AAaF,uGAAuG;AACvG,oFAAoF;AACpF,SAAgB,aAAa,CACzB,KAAa,EACb,MAAc,EACd,MAAc,EACd,SAAiC,EACjC,UAAqC;IAErC,MAAM,aAAa,GAAI,SAAS,CAAC,QAAmB,KAAK,KAAK,CAAA;IAE9D,MAAM,cAAc,GAAG,CACnB,KAAa,EACb,MAAc,EACd,MAAc,EACd,QAA4C,EAC5C,UAAqC,EACC,EAAE;QACxC,IAAI,gBAAgB,GAAQ,SAAS,CAAA;QACrC,IAAI,MAAM,GAAG,UAAU,CAAA;QACvB,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,SAAS;gBACV,gBAAgB,GAAG,CAAC,KAAK,EAAE,IAAI,MAAM,OAAO,EAAE,IAAI,MAAM,KAAK,CAAC,CAAA;gBAC9D,MAAM,GAAG;oBACL,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChD,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;iBACjD,CAAA;gBACD,MAAK;YACT,KAAK,IAAI;gBACL,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,MAAM,EAAE,CAAC,CAAA;gBAC3C,MAAK;YACT;gBACI,gBAAgB,GAAG,CAAC,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC,CAAA;gBACxC,MAAK;QACb,CAAC;QACD,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,cAAc,CAC/C,KAAK,EACL,MAAM,EACN,MAAM,EACN,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EACvE,UAAU,CACb,CAAA;IAED,IAAI,aAAa,EAAE,CAAC;QAChB,SAAS,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAA;IAC3D,CAAC;SAAM,CAAC;QACJ,SAAS,CAAC,UAAU,GAAG,gBAAgB,CAAA;IAC3C,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,SAAgB,0BAA0B,CACtC,EAA+B,EAC/B,MAAc,EACd,MAAc,EACd,KAAa,EACb,iBAAiB,GAAG,KAAK;IAEzB,OAAO,EAAE,CAAC,4BAA4B,CAAC,CACnC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAClC,MAAM,CAAC,YAAY,CACI,CAAA;AAC/B,CAAC;AAED,SAAgB,iBAAiB,CAAI,EAAyB,EAAE,MAAc,EAAE,MAAqB;IACjG,MAAM,gBAAgB,GAAG,IAAA,kCAAyB,EAAC,MAAM,CAAC,CAAA;IAC1D,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,IAAA,+BAAsB,EAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;IAC/F,MAAM,UAAU,GAAG,IAAA,wBAAe,EAAC,EAAE,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACrE,MAAM,UAAU,GAAG,IAAA,wBAAe,EAAC,EAAE,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACrE,MAAM,OAAO,GAAG,IAAA,qBAAY,EAAC,EAAE,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IAE/D,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,gBAAgB,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IACjH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,YAAoB,EAAE,KAAa,EAAE,EAAE;;QAC3D,MAAM,sBAAsB,GAAG,GAAG,gBAAgB,CAAC,MAAM,GAAG,KAAK,EAAE,CAAA;QACnE,MAAM,SAAS,GAAG,0BAA0B,CACxC,EAAE,EACF,gBAAgB,CAAC,MAAM,EACvB,YAAY,EACZ,KAAK,EACL,iBAAiB,CACpB,CAAA;QACD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,SAAS,EAAE;YACrF,CAAC,sBAAsB,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,KAAK;SAC5D,CAAC,CAAA;QACF,IACI,OAAO;aACP,MAAA,SAAS,CAAC,UAAU,0CAAE,MAAM,CAAA;YAC5B,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClE,CAAC;YACC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,eAAe,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAA;QACvE,CAAC;QACD,IAAI,YAAY,CAAC,UAAU,KAAK,gBAAgB,CAAC,EAAE,EAAE,CAAC;YAClD,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,gCAAgC,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAA;QAC3E,CAAC;aAAM,CAAC;YACJ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,gCAAgC,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAA;QAC5E,CAAC;IACL,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAgB,gBAAgB,CAAC,GAAY;IACzC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,KAAK,GAAgB;QACvB,UAAU,EAAE,gBAAgB,CAAC,GAAG;QAChC,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,cAAc,CAAC,EAAE;QAC3B,KAAK,EAAE,GAAG;KACb,CAAA;IAED,MAAM,aAAa,GAAG,CAAC,CAAA,CAAC,yCAAyC;IACjE,MAAM,iBAAiB,GAAG,GAAG,CAAA;IAE7B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAC5C,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAA;IACvF,MAAM,QAAQ,GAAyD,EAAE,CAAA;IAEzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACxB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,UAAU,GAAG,KAAK,CAAA;QAC5B,CAAC;aAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAA;QACxB,CAAC;aAAM,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAA;QAC1B,CAAC;aAAM,CAAC;YACJ,MAAK;QACT,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,KAAK;YACP,KAAK,CAAC,QAAQ,KAAK,cAAc,CAAC,IAAI;gBAClC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAA;IACxF,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAI,MAAc,EAAE,EAAyB,EAAE,OAAO,GAAG,KAAK;IACvF,MAAM,gBAAgB,GAAG,IAAA,kCAAyB,EAAC,MAAM,CAAC,CAAA;IAC1D,MAAM,eAAe,GAAG,IAAA,+BAAsB,EAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;IACpE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAA;IAEvC,OAAO,CAAC,KAAa,EAAE,EAAE;QACrB,IAAI,CAAC,IAAA,yBAAgB,EAAC,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,IAAA,kBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QAED,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;QAED,OAAO,KAAK,CAAA;IAChB,CAAC,CAAA;AACL,CAAC;AAED,SAAgB,WAAW,CACvB,KAAoB,EACpB,iBAAkF,EAClF,EAA0B;IAE1B,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,EAAE,CAAA;IACb,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC;YACjC,SAAQ;QACZ,CAAC;QACD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClC,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC1D,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;YACnC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,SAAQ;YACZ,CAAC;YACD,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChD,SAAQ;gBACZ,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1C,SAAQ;gBACZ,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IACI,KAAK,CAAC,QAAQ;oBACd,KAAK,CAAC,QAAQ,KAAK,cAAc,CAAC,EAAE;oBACpC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC5C,CAAC;oBACC,SAAQ;gBACZ,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3D,SAAQ;gBACZ,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAA0B;gBAClC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,YAAY,EAAE,SAAS;aAC1B,CAAA;YAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAEjD,MAAM,gBAAgB,GAAG,IAAA,kCAAyB,EAAC,MAAM,CAAC,CAAA;YAC1D,MAAM,OAAO,GAAG,IAAA,qBAAY,EAAC,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;YAEzD,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACrB,KAAK,cAAc,CAAC,GAAG;oBACnB,MAAM,CAAC,YAAY,GAAG,gCAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC9D,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAC1C,CAAA;oBACD,MAAK;gBACT,KAAK,cAAc,CAAC,EAAE,CAAC;gBACvB,KAAK,cAAc,CAAC,QAAQ;oBACxB,MAAM,CAAC,YAAY,GAAG,gCAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;oBAC1F,MAAK;gBACT,KAAK,cAAc,CAAC,KAAK;oBACrB,MAAM,CAAC,YAAY,GAAG,gCAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAA;oBACtF,MAAK;gBACT,KAAK,cAAc,CAAC,EAAE;oBAClB,MAAM,CAAC,YAAY,GAAG,gCAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAA;oBACrF,MAAK;gBACT;oBACI,MAAM,CAAC,YAAY,GAAG,gCAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YACjG,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC5C,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAE9C,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;gBAE3D,MAAM,UAAU,GAAG;oBACf,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,YAAY,EAAE,IAAA,sBAAY,EAAC;wBACvB,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;wBAC3C,sGAAsG;wBACtG,0FAA0F;wBAC1F,6EAA6E;wBAC7E,wCAAwC;qBAC3C,CAAC;iBACL,CAAA;gBAED,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;YAClE,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;YACxD,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACf,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;gBACnD,MAAM,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC,YAAY,GAAG,gCAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CACvF,MAAM,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC,YAAY,CACjD,CAAA;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,SAAgB,SAAS,CACrB,EAAyB,EACzB,KAAoB,EACpB,iBAAkF;IAElF,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAA;IAExD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,CAAA;IACrF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAA;IAEvF,EAAE,CAAC,QAAQ,CACP,IAAI,kBAAQ,CAAC,CAAC,EAAyB,EAAE,EAAE;QACvC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC/B,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QACzC,CAAC;IACL,CAAC,CAAC,CACL,CAAA;IAED,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAChC,EAAE,CAAC,QAAQ,CACP,IAAI,kBAAQ,CAAC,CAAC,EAAyB,EAAE,EAAE;YACvC,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QACzC,CAAC,CAAC,CACL,CAAA;IACL,CAAC;IAED,mFAAmF;IACnF,wFAAwF;IACxF,OAAO,MAAM,CAAC,WAAW,CACrB,aAAa;SACR,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAA,kCAAyB,EAAC,GAAG,CAAC,CAAU,CAAC;SAC9D,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;SACnD,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACzF,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAA,8BAAqB,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;aACzD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,oBAAoB,CAAU,CAAC,CAAA;IACrE,CAAC,CAAC,CACT,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"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"}
package/lib/helper.d.ts CHANGED
@@ -63,6 +63,35 @@ export declare function checkIsNestedRelation(qb: SelectQueryBuilder<unknown>, p
63
63
  export declare function checkIsEmbedded(qb: SelectQueryBuilder<unknown>, propertyPath: string): boolean;
64
64
  export declare function checkIsArray(qb: SelectQueryBuilder<unknown>, propertyName: string): boolean;
65
65
  export declare function checkIsJsonb(qb: SelectQueryBuilder<unknown>, propertyName: string): boolean;
66
+ /**
67
+ * Describes how a dot-separated filter path maps to a JSONB column.
68
+ *
69
+ * Given a path like `detail.referrer.source.platform`:
70
+ * - relationPath: ['detail'] — segments that are TypeORM relations (require JOIN)
71
+ * - jsonbColumn: 'referrer' — the JSONB column on the final relation entity
72
+ * - jsonPath: ['source', 'platform'] — the key path inside the JSON value
73
+ */
74
+ export interface JsonbPathResolution {
75
+ isJsonb: boolean;
76
+ /** Relation segments leading up to the entity that owns the JSONB column */
77
+ relationPath: string[];
78
+ /** Name of the JSONB column on that entity */
79
+ jsonbColumn: string;
80
+ /** Key path inside the JSON value (may be empty for a top-level JSONB filter) */
81
+ jsonPath: string[];
82
+ }
83
+ /**
84
+ * Walks the dot-separated `column` path through TypeORM entity metadata to determine
85
+ * whether the path terminates in a JSONB column and, if so, where the relation chain
86
+ * ends and the JSON key path begins.
87
+ *
88
+ * Algorithm:
89
+ * For each segment, check whether the current entity metadata has a relation
90
+ * with that name. If yes, follow the relation and continue. If no, check
91
+ * whether it is a JSONB column on the current entity. If yes, all remaining
92
+ * segments are JSON key path. Otherwise, the path is not JSONB.
93
+ */
94
+ export declare function resolveJsonbPath(qb: SelectQueryBuilder<unknown>, column: string): JsonbPathResolution;
66
95
  export declare function fixColumnAlias(properties: ColumnProperties, alias: string, isRelation?: boolean, isVirtualProperty?: boolean, isEmbedded?: boolean, query?: ColumnMetadata['query']): string;
67
96
  export declare function getQueryUrlComponents(path: string): {
68
97
  queryOrigin: string;
package/lib/helper.js CHANGED
@@ -13,6 +13,7 @@ exports.checkIsNestedRelation = checkIsNestedRelation;
13
13
  exports.checkIsEmbedded = checkIsEmbedded;
14
14
  exports.checkIsArray = checkIsArray;
15
15
  exports.checkIsJsonb = checkIsJsonb;
16
+ exports.resolveJsonbPath = resolveJsonbPath;
16
17
  exports.fixColumnAlias = fixColumnAlias;
17
18
  exports.getQueryUrlComponents = getQueryUrlComponents;
18
19
  exports.isISODate = isISODate;
@@ -129,16 +130,69 @@ function checkIsArray(qb, propertyName) {
129
130
  return !!((_c = (_b = (_a = qb === null || qb === void 0 ? void 0 : qb.expressionMap) === null || _a === void 0 ? void 0 : _a.mainAlias) === null || _b === void 0 ? void 0 : _b.metadata.findColumnWithPropertyName(propertyName)) === null || _c === void 0 ? void 0 : _c.isArray);
130
131
  }
131
132
  function checkIsJsonb(qb, propertyName) {
132
- var _a, _b, _c, _d, _e, _f;
133
133
  if (!qb || !propertyName) {
134
134
  return false;
135
135
  }
136
- if (propertyName.includes('.')) {
137
- const parts = propertyName.split('.');
138
- const dbColumnName = parts[parts.length - 2];
139
- return ((_c = (_b = (_a = qb === null || qb === void 0 ? void 0 : qb.expressionMap) === null || _a === void 0 ? void 0 : _a.mainAlias) === null || _b === void 0 ? void 0 : _b.metadata.findColumnWithPropertyName(dbColumnName)) === null || _c === void 0 ? void 0 : _c.type) === 'jsonb';
136
+ const resolution = resolveJsonbPath(qb, propertyName);
137
+ return resolution.isJsonb;
138
+ }
139
+ /**
140
+ * Walks the dot-separated `column` path through TypeORM entity metadata to determine
141
+ * whether the path terminates in a JSONB column and, if so, where the relation chain
142
+ * ends and the JSON key path begins.
143
+ *
144
+ * Algorithm:
145
+ * For each segment, check whether the current entity metadata has a relation
146
+ * with that name. If yes, follow the relation and continue. If no, check
147
+ * whether it is a JSONB column on the current entity. If yes, all remaining
148
+ * segments are JSON key path. Otherwise, the path is not JSONB.
149
+ */
150
+ function resolveJsonbPath(qb, column) {
151
+ var _a, _b, _c, _d, _e;
152
+ const notJsonb = { isJsonb: false, relationPath: [], jsonbColumn: '', jsonPath: [] };
153
+ if (!qb || !column) {
154
+ return notJsonb;
155
+ }
156
+ const parts = column.split('.');
157
+ // A plain column name without dots is not a JSONB path — callers use checkIsJsonb directly.
158
+ if (parts.length < 2) {
159
+ return notJsonb;
160
+ }
161
+ let metadata = (_b = (_a = qb === null || qb === void 0 ? void 0 : qb.expressionMap) === null || _a === void 0 ? void 0 : _a.mainAlias) === null || _b === void 0 ? void 0 : _b.metadata;
162
+ const relationPath = [];
163
+ for (let i = 0; i < parts.length - 1; i++) {
164
+ const segment = parts[i];
165
+ const relation = (_c = metadata === null || metadata === void 0 ? void 0 : metadata.relations) === null || _c === void 0 ? void 0 : _c.find((r) => r.propertyPath === segment);
166
+ if (relation) {
167
+ relationPath.push(segment);
168
+ metadata = relation.inverseEntityMetadata;
169
+ }
170
+ else {
171
+ // Not a relation — check whether it is a JSONB column
172
+ const isJsonbColumn = ((_d = metadata === null || metadata === void 0 ? void 0 : metadata.findColumnWithPropertyName(segment)) === null || _d === void 0 ? void 0 : _d.type) === 'jsonb';
173
+ if (!isJsonbColumn) {
174
+ return notJsonb;
175
+ }
176
+ return {
177
+ isJsonb: true,
178
+ relationPath,
179
+ jsonbColumn: segment,
180
+ jsonPath: parts.slice(i + 1),
181
+ };
182
+ }
183
+ }
184
+ // All segments except the last were relations; the last segment must be a JSONB column.
185
+ const lastSegment = parts[parts.length - 1];
186
+ const isJsonbColumn = ((_e = metadata === null || metadata === void 0 ? void 0 : metadata.findColumnWithPropertyName(lastSegment)) === null || _e === void 0 ? void 0 : _e.type) === 'jsonb';
187
+ if (isJsonbColumn) {
188
+ return {
189
+ isJsonb: true,
190
+ relationPath,
191
+ jsonbColumn: lastSegment,
192
+ jsonPath: [],
193
+ };
140
194
  }
141
- return ((_f = (_e = (_d = qb === null || qb === void 0 ? void 0 : qb.expressionMap) === null || _d === void 0 ? void 0 : _d.mainAlias) === null || _e === void 0 ? void 0 : _e.metadata.findColumnWithPropertyName(propertyName)) === null || _f === void 0 ? void 0 : _f.type) === 'jsonb';
195
+ return notJsonb;
142
196
  }
143
197
  // This function is used to fix the column alias when using relation, embedded or virtual properties
144
198
  function fixColumnAlias(properties, alias, isRelation = false, isVirtualProperty = false, isEmbedded = false, query) {
package/lib/helper.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":";;;AAiGA,kCAEC;AAOD,8DAsBC;AAED,wDAcC;AAED,oEAOC;AAED,oDAIC;AAED,kEAgBC;AAED,8DAQC;AAED,0CAKC;AAED,sDAUC;AAED,0CAKC;AAED,oCAKC;AAED,oCAOC;AA+BD,4CAmDC;AAGD,wCAkCC;AAED,sDAYC;AAMD,8BAEC;AAED,oCAQC;AAED,wCAQC;AAED,oDAIC;AAED,kDAGC;AAED,sCAWC;AAED,4CAQC;AAED,gDAEC;AAED,sBAEC;AAED,4BAEC;AApbD,mCAAkC;AAClC,qCAMgB;AAEhB,oDAAgD;AAwFhD,SAAgB,WAAW,CAAI,aAA0B,EAAE,MAAc;IACrE,OAAO,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;AACpD,CAAC;AAEM,MAAM,uBAAuB,GAAG,CAAC,KAAyB,EAAE,YAAoB,EAAE,WAAkB,CAAC,EAAE,EAAE,CAC5G,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAA;AADrD,QAAA,uBAAuB,2BAC8B;AAIlE,SAAgB,yBAAyB,CAAC,MAAc;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACtC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC9C,IAAI,QAAQ,GAAG,KAAK,EAChB,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAE7C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,QAAQ,GAAG,IAAI,CAAA;QACnB,CAAC;QAED,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAE7D,OAAO;YACH,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;YAC7B,YAAY,EAAE,4CAA4C;YAC1D,QAAQ;YACR,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;SAC/C,CAAA;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IACtF,CAAC;AACL,CAAC;AAED,SAAgB,sBAAsB,CAClC,EAA+B,EAC/B,gBAAkC;;IAElC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY;QAC1C,CAAC,CAAC,MAAA,MAAA,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,0CAAE,SAAS,0CAAE,QAAQ,0CAAE,0BAA0B,CAAC,gBAAgB,CAAC,YAAY,CAAC,0CAC3F,gBAAgB,0CAAE,cAAc,CAAC,cAAc;QACvD,CAAC,CAAC,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,0CAAE,SAAS,0CAAE,QAAQ,CAAA;IAC5C,OAAO,CACH,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,gBAAgB,CAAC,YAAY,CAAC,KAAI;QAC1F,iBAAiB,EAAE,KAAK;QACxB,KAAK,EAAE,SAAS;KACnB,CACJ,CAAA;AACL,CAAC;AAED,SAAgB,4BAA4B,CAAC,EAA+B,EAAE,YAAsB;;IAChG,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,MAAA,MAAA,EAAE,CAAC,aAAa,CAAC,SAAS,0CAAE,QAAQ,0CAAE,cAAc,CACtD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EACnC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;AACzD,CAAC;AAED,SAAgB,oBAAoB,CAAC,EAA2B,EAAE,UAAmB;;IACjF,OAAO,MAAA,MAAA,EAAE,CAAC,aAAa,CAAC,SAAS,0CAAE,QAAQ,0CAAE,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACvE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAC5E,CAAA;AACL,CAAC;AAED,SAAgB,2BAA2B,CAAC,EAA2B,EAAE,eAAyB;IAC9F,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAE/D,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAA;IACtD,MAAM,kBAAkB,GAAa,EAAE,CAAA;IAEvC,KAAK,MAAM,EAAE,IAAI,qBAAqB,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAA;QACtD,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAEjE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;IACL,CAAC;IAED,OAAO,kBAAkB,CAAA;AAC7B,CAAC;AAED,SAAgB,yBAAyB,CACrC,EAA+B,EAC/B,gBAAkC;;IAElC,IAAI,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,CAAC,CAAC,CAAA,MAAA,MAAA,EAAE,CAAC,aAAa,CAAC,SAAS,0CAAE,QAAQ,0CAAE,yBAAyB,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA,CAAA;AAC3G,CAAC;AAED,SAAgB,eAAe,CAAC,EAA+B,EAAE,YAAoB;;IACjF,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,CAAC,CAAC,CAAA,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,0CAAE,SAAS,0CAAE,QAAQ,0CAAE,2BAA2B,CAAC,YAAY,CAAC,CAAA,CAAA;AAC9F,CAAC;AAED,SAAgB,qBAAqB,CAAC,EAA+B,EAAE,YAAoB;;IACvF,IAAI,QAAQ,GAAG,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,0CAAE,SAAS,0CAAE,QAAQ,CAAA;IACrD,KAAK,MAAM,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC,CAAA;QAC/F,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,KAAK,CAAA;QAChB,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC,qBAAqB,CAAA;IAC7C,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC;AAED,SAAgB,eAAe,CAAC,EAA+B,EAAE,YAAoB;;IACjF,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,CAAC,CAAC,CAAA,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,0CAAE,SAAS,0CAAE,QAAQ,0CAAE,2BAA2B,CAAC,YAAY,CAAC,CAAA,CAAA;AAC9F,CAAC;AAED,SAAgB,YAAY,CAAC,EAA+B,EAAE,YAAoB;;IAC9E,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,CAAC,CAAC,CAAA,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,0CAAE,SAAS,0CAAE,QAAQ,CAAC,0BAA0B,CAAC,YAAY,CAAC,0CAAE,OAAO,CAAA,CAAA;AACrG,CAAC;AAED,SAAgB,YAAY,CAAC,EAA+B,EAAE,YAAoB;IAC9E,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;IACrD,OAAO,UAAU,CAAC,OAAO,CAAA;AAC7B,CAAC;AAoBD;;;;;;;;;;GAUG;AACH,SAAgB,gBAAgB,CAAC,EAA+B,EAAE,MAAc;;IAC5E,MAAM,QAAQ,GAAwB,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IAEzG,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,4FAA4F;IAC5F,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,IAAI,QAAQ,GAAG,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,0CAAE,SAAS,0CAAE,QAAQ,CAAA;IACrD,MAAM,YAAY,GAAa,EAAE,CAAA;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,QAAQ,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC,CAAA;QAE7E,IAAI,QAAQ,EAAE,CAAC;YACX,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,QAAQ,GAAG,QAAQ,CAAC,qBAAqB,CAAA;QAC7C,CAAC;aAAM,CAAC;YACJ,sDAAsD;YACtD,MAAM,aAAa,GAAG,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,0BAA0B,CAAC,OAAO,CAAC,0CAAE,IAAI,MAAK,OAAO,CAAA;YACrF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,OAAO,QAAQ,CAAA;YACnB,CAAC;YACD,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,YAAY;gBACZ,WAAW,EAAE,OAAO;gBACpB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;aAC/B,CAAA;QACL,CAAC;IACL,CAAC;IAED,wFAAwF;IACxF,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3C,MAAM,aAAa,GAAG,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,0BAA0B,CAAC,WAAW,CAAC,0CAAE,IAAI,MAAK,OAAO,CAAA;IACzF,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO;YACH,OAAO,EAAE,IAAI;YACb,YAAY;YACZ,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,EAAE;SACf,CAAA;IACL,CAAC;IAED,OAAO,QAAQ,CAAA;AACnB,CAAC;AAED,oGAAoG;AACpG,SAAgB,cAAc,CAC1B,UAA4B,EAC5B,KAAa,EACb,UAAU,GAAG,KAAK,EAClB,iBAAiB,GAAG,KAAK,EACzB,UAAU,GAAG,KAAK,EAClB,KAA+B;IAE/B,IAAI,UAAU,EAAE,CAAC;QACb,IAAI,iBAAiB,IAAI,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,UAAU,CAAC,YAAY,MAAM,CAAC,GAAG,CAAA,CAAC,2CAA2C;QAC9G,CAAC;aAAM,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC9D,IAAI,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACvD,MAAM,eAAe,GAAG,YAAY;qBAC/B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;qBACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;qBACtB,IAAI,CAAC,GAAG,CAAC,CAAA;gBACd,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAEvD,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,YAAY,QAAQ,eAAe,IAAI,SAAS,EAAE,CAAA;YACpF,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,YAAY,QAAQ,UAAU,CAAC,YAAY,EAAE,CAAA;YAC/E,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,YAAY,QAAQ,UAAU,CAAC,YAAY,EAAE,CAAA;QAC/E,CAAC;IACL,CAAC;SAAM,IAAI,iBAAiB,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,UAAU,CAAC,YAAY,EAAE,CAAA;IACnF,CAAC;SAAM,IAAI,UAAU,EAAE,CAAC;QACpB,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,EAAE,CAAA;IAC3E,CAAC;SAAM,CAAC;QACJ,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,YAAY,EAAE,CAAA;IAChD,CAAC;AACL,CAAC;AAED,SAAgB,qBAAqB,CAAC,IAAY;IAC9C,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;IAC7C,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,IAAI,SAAS,GAAG,EAAE,CAAA;IAClB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;QACzB,WAAW,GAAG,GAAG,CAAC,MAAM,CAAA;QACxB,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;SAAM,CAAC;QACJ,SAAS,GAAG,IAAI,CAAA;IACpB,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAA;AACrC,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,MAAM,CAC5B,gNAAgN,CACnN,CAAA;AAED,SAAgB,SAAS,CAAC,GAAW;IACjC,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC;AAED,SAAgB,YAAY,CAAI,IAA6B;IACzD,IAAI,IAAI,YAAY,oBAAU;QAAE,OAAO,IAAI,CAAA;IAC3C,IAAI,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,IAAI,CAAA;QAC9E,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,SAAS,IAAI,IAAI,CAAA;IACnF,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC;AAED,SAAgB,cAAc,CAAI,KAAgC;IAC9D,IAAI,KAAK,YAAY,sBAAY;QAAE,OAAO,IAAI,CAAA;IAC9C,IAAI,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,IAAI,CAAA;QACjF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAA;IAC7E,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC;AAED,SAAgB,oBAAoB,CAAI,sBAA8C;IAClF,OAAO,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC;QACxC,CAAC,CAAC,mBAAQ,CAAC,2BAA2B,CAAC,sBAAsB,CAAC;QAC9D,CAAC,CAAE,sBAA4C,CAAA;AACvD,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAAG,OAAyB;IAC5D,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAChG,OAAO,IAAA,kBAAS,EAAC,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,CAAC,CAAA;AACpD,CAAC;AAED,SAAgB,aAAa,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc;IAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QACpD,OAAO,SAAS,SAAS,oBAAoB,SAAS,QAAQ,CAAA;IAClE,CAAC;SAAM,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACpD,OAAO,QAAQ,SAAS,KAAK,SAAS,QAAQ,CAAA;IAClD,CAAC;SAAM,CAAC;QACJ,SAAS;QACT,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClC,OAAO,WAAW,OAAO,aAAa,SAAS,kBAAkB,SAAS,KAAK,SAAS,GAAG,CAAA;IAC/F,CAAC;AACL,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAS;IACtC,MAAM,SAAS,GAAG;QACd,IAAI,EAAE,wBAAwB;QAC9B,UAAU;QACV,WAAW;QACX,aAAa;KAChB,CAAA;IACD,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC;AAED,SAAgB,kBAAkB,CAAC,UAAkB,EAAE,gBAAyB;IAC5E,OAAO,gBAAgB,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,CAAA;AACrE,CAAC;AAED,SAAgB,KAAK,CAAC,CAAU;IAC5B,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAA;AACxC,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAU;IAC/B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC"}
package/lib/paginate.js CHANGED
@@ -733,12 +733,13 @@ async function paginate(query, repo, config) {
733
733
  const itemsPerPage = limit === PaginationLimit.COUNTER_ONLY ? totalItems : isPaginated ? limit : items.length;
734
734
  const totalItemsForMeta = limit === PaginationLimit.COUNTER_ONLY || isPaginated ? totalItems : items.length;
735
735
  const totalPages = isPaginated ? Math.ceil(totalItems / limit) : 1;
736
+ const currentPage = Math.max(1, Math.min(page, totalPages));
736
737
  const results = {
737
738
  data: items,
738
739
  meta: {
739
740
  itemsPerPage: config.paginationType === PaginationType.CURSOR ? items.length : itemsPerPage,
740
741
  totalItems: config.paginationType === PaginationType.CURSOR ? undefined : totalItemsForMeta,
741
- currentPage: config.paginationType === PaginationType.CURSOR ? undefined : page,
742
+ currentPage: config.paginationType === PaginationType.CURSOR ? undefined : currentPage,
742
743
  totalPages: config.paginationType === PaginationType.CURSOR ? undefined : totalPages,
743
744
  sortBy,
744
745
  search: query.search,
@@ -760,11 +761,11 @@ async function paginate(query, repo, config) {
760
761
  : undefined,
761
762
  }
762
763
  : {
763
- first: page == 1 ? undefined : buildLink(1),
764
- previous: page - 1 < 1 ? undefined : buildLink(page - 1),
765
- current: buildLink(page),
766
- next: page + 1 > totalPages ? undefined : buildLink(page + 1),
767
- last: page == totalPages || !totalItems ? undefined : buildLink(totalPages),
764
+ first: currentPage == 1 ? undefined : buildLink(1),
765
+ previous: currentPage - 1 < 1 ? undefined : buildLink(currentPage - 1),
766
+ current: buildLink(currentPage),
767
+ next: currentPage + 1 > totalPages ? undefined : buildLink(currentPage + 1),
768
+ last: currentPage == totalPages || !totalItems ? undefined : buildLink(totalPages),
768
769
  }
769
770
  : {},
770
771
  };