@ptc-org/nestjs-query-core 1.0.0-alpha.3 → 1.0.0-alpha.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ptc-org/nestjs-query-core",
3
- "version": "1.0.0-alpha.3",
3
+ "version": "1.0.0-alpha.4",
4
4
  "description": "Base query package",
5
5
  "author": "doug-martin <doug@dougamartin.com>",
6
6
  "homepage": "https://github.com/tripss/nestjs-query#readme",
@@ -71,32 +71,54 @@ const getFilterFields = (filter) => {
71
71
  };
72
72
  exports.getFilterFields = getFilterFields;
73
73
  const getFilterComparisons = (filter, key) => {
74
- let results = [];
74
+ const results = [];
75
+ if (filter.and || filter.or) {
76
+ const filters = [...(filter.and ?? []), ...(filter.or ?? [])];
77
+ filters.forEach((f) => (0, exports.getFilterComparisons)(f, key).forEach((comparison) => results.push(comparison)));
78
+ }
75
79
  const comparison = (0, exports.getFilterFieldComparison)(filter, key);
76
80
  if ((0, exports.isComparison)(comparison)) {
77
81
  results.push(comparison);
78
82
  }
79
- else if (Array.isArray(filter)) {
80
- filter.forEach((f) => {
81
- results = results.concat((0, exports.getFilterComparisons)(f, key));
82
- });
83
- }
84
- if (typeof filter === 'object') {
85
- Object.keys(filter).forEach((subFilterKey) => {
86
- const subFilter = filter[subFilterKey];
87
- if (subFilterKey === key) {
88
- results.push(subFilter);
89
- }
90
- else {
91
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
92
- // @ts-ignore
93
- results = results.concat((0, exports.getFilterComparisons)(subFilter, key));
94
- }
95
- });
96
- }
97
83
  return [...results];
98
84
  };
99
85
  exports.getFilterComparisons = getFilterComparisons;
86
+ /*
87
+ getFilterComparisons only returns the first layer, this one will return everything, it only returns the same
88
+ item multiple times, that needs to be fixed first
89
+ */
90
+ // export const getDeepFilterComparisons = <DTO, K extends keyof FilterComparisons<DTO>>(
91
+ // filter: Filter<DTO>,
92
+ // key: K
93
+ // ): FilterFieldComparison<DTO[K]>[] => {
94
+ // let results: FilterFieldComparison<DTO[K]>[] = [];
95
+ //
96
+ // const comparison = getFilterFieldComparison(filter as FilterComparisons<DTO>, key);
97
+ // if (isComparison(comparison)) {
98
+ // results.push(comparison);
99
+ //
100
+ // } else if (Array.isArray(filter)) {
101
+ // filter.forEach((f: Filter<DTO>) => {
102
+ // results = results.concat(getFilterComparisons(f, key));
103
+ // });
104
+ // }
105
+ //
106
+ // if (typeof filter === 'object') {
107
+ // Object.keys(filter).forEach((subFilterKey) => {
108
+ // const subFilter = filter[subFilterKey] as FilterFieldComparison<DTO[K]>;
109
+ //
110
+ // if (subFilterKey === key) {
111
+ // results.push(subFilter);
112
+ // } else {
113
+ // // eslint-disable-next-line @typescript-eslint/ban-ts-comment
114
+ // // @ts-ignore
115
+ // results = results.concat(getFilterComparisons(subFilter, key));
116
+ // }
117
+ // });
118
+ // }
119
+ //
120
+ // return [...results];
121
+ // };
100
122
  const getFilterOmitting = (filter, ...keys) => Object.keys(filter).reduce((f, next) => {
101
123
  const omitted = { ...f };
102
124
  const k = next;
@@ -1 +1 @@
1
- {"version":3,"file":"filter.helpers.js","sourceRoot":"","sources":["../../../../../packages/core/src/helpers/filter.helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.helpers.js","sourceRoot":"","sources":["../../../../../packages/core/src/helpers/filter.helpers.ts"],"names":[],"mappings":"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"}