@ptc-org/nestjs-query-core 1.0.0-alpha.2 → 1.0.0-alpha.3
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
|
+
"version": "1.0.0-alpha.3",
|
|
4
4
|
"description": "Base query package",
|
|
5
5
|
"author": "doug-martin <doug@dougamartin.com>",
|
|
6
6
|
"homepage": "https://github.com/tripss/nestjs-query#readme",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"lodash.merge": "^4.6.2",
|
|
29
29
|
"reflect-metadata": "^0.1.13",
|
|
30
|
-
"tslib": "^2.
|
|
30
|
+
"tslib": "^2.4.0"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"@nestjs/common": "^8.0.4",
|
|
@@ -19,6 +19,9 @@ export declare const transformFilter: <From, To>(filter: Filter<From>, fieldMap:
|
|
|
19
19
|
export declare const mergeFilter: <T>(base: Filter<T>, source: Filter<T>) => Filter<T>;
|
|
20
20
|
export declare const getFilterFields: <DTO>(filter: Filter<DTO>) => string[];
|
|
21
21
|
export declare const getFilterComparisons: <DTO, K extends keyof DTO>(filter: Filter<DTO>, key: K) => (DTO[K] extends string | String ? import("../interfaces").StringFieldComparisons : DTO[K] extends boolean | Boolean ? import("../interfaces").BooleanFieldComparisons : DTO[K] extends number | bigint | symbol | RegExp | Date | (string | number | bigint | boolean | symbol | RegExp | Date)[] ? import("../interfaces").CommonFieldComparisonType<DTO[K]> : DTO[K] extends (infer U)[] ? import("../interfaces").CommonFieldComparisonType<U> | Filter<U> : Filter<DTO[K]> | import("../interfaces").CommonFieldComparisonType<DTO[K]>)[];
|
|
22
|
-
export declare const getFilterOmitting: <DTO>(filter: Filter<DTO>,
|
|
22
|
+
export declare const getFilterOmitting: <DTO>(filter: Filter<DTO>, ...keys: (keyof DTO | keyof {
|
|
23
|
+
and?: Filter<DTO>[];
|
|
24
|
+
or?: Filter<DTO>[];
|
|
25
|
+
})[]) => Filter<DTO>;
|
|
23
26
|
export declare function applyFilter<DTO>(dto: DTO[], filter: Filter<DTO>): DTO[];
|
|
24
27
|
export declare function applyFilter<DTO>(dto: DTO, filter: Filter<DTO>): boolean;
|
|
@@ -71,34 +71,48 @@ const getFilterFields = (filter) => {
|
|
|
71
71
|
};
|
|
72
72
|
exports.getFilterFields = getFilterFields;
|
|
73
73
|
const getFilterComparisons = (filter, key) => {
|
|
74
|
-
|
|
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
|
-
}
|
|
74
|
+
let results = [];
|
|
79
75
|
const comparison = (0, exports.getFilterFieldComparison)(filter, key);
|
|
80
76
|
if ((0, exports.isComparison)(comparison)) {
|
|
81
77
|
results.push(comparison);
|
|
82
78
|
}
|
|
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
|
+
}
|
|
83
97
|
return [...results];
|
|
84
98
|
};
|
|
85
99
|
exports.getFilterComparisons = getFilterComparisons;
|
|
86
|
-
const getFilterOmitting = (filter,
|
|
100
|
+
const getFilterOmitting = (filter, ...keys) => Object.keys(filter).reduce((f, next) => {
|
|
87
101
|
const omitted = { ...f };
|
|
88
102
|
const k = next;
|
|
89
103
|
if (k === 'and' && filter.and) {
|
|
90
|
-
omitted.and = filter.and.map((part) => (0, exports.getFilterOmitting)(part,
|
|
104
|
+
omitted.and = filter.and.map((part) => (0, exports.getFilterOmitting)(part, ...keys));
|
|
91
105
|
if (omitted.and.every((part) => Object.keys(part).length === 0)) {
|
|
92
106
|
delete omitted.and;
|
|
93
107
|
}
|
|
94
108
|
}
|
|
95
109
|
else if (k === 'or' && filter.or) {
|
|
96
|
-
omitted.or = filter.or.map((part) => (0, exports.getFilterOmitting)(part,
|
|
110
|
+
omitted.or = filter.or.map((part) => (0, exports.getFilterOmitting)(part, ...keys));
|
|
97
111
|
if (omitted.or.every((part) => Object.keys(part).length === 0)) {
|
|
98
112
|
delete omitted.or;
|
|
99
113
|
}
|
|
100
114
|
}
|
|
101
|
-
else if (k
|
|
115
|
+
else if (!keys.includes(k)) {
|
|
102
116
|
omitted[k] = filter[k];
|
|
103
117
|
}
|
|
104
118
|
return omitted;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.helpers.js","sourceRoot":"","sources":["../../../../../packages/core/src/helpers/filter.helpers.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAQ1C,MAAM,wBAAwB,GAAG,CAAC,EAAW,EAAiC,EAAE,CACrF,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,UAAU,CAAC;AAD9D,QAAA,wBAAwB,4BACsC;AAEpE,MAAM,uBAAuB,GAAG,CAAC,EAAW,EAA+B,EAAE,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,OAAO,CAAC;AAAtG,QAAA,uBAAuB,2BAA+E;AAE5G,MAAM,4BAA4B,GAAG,CAAC,EAAW,EAAoC,EAAE,CAC5F,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,YAAY,CAAC;AAD7B,QAAA,4BAA4B,gCACC;AAEnC,MAAM,0BAA0B,GAAG,CAAC,EAAW,EAAkC,EAAE,CACxF,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC;AADhD,QAAA,0BAA0B,8BACsB;AAEtD,MAAM,4BAA4B,GAAG,CAAC,EAAW,EAAoC,EAAE,CAC5F,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,OAAO,CAAC;AADlD,QAAA,4BAA4B,gCACsB;AAExD,MAAM,YAAY,GAAG,CAC1B,eAAgE,EACd,EAAE;IACpD,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,KAAK,CAAC;KACd;
|
|
1
|
+
{"version":3,"file":"filter.helpers.js","sourceRoot":"","sources":["../../../../../packages/core/src/helpers/filter.helpers.ts"],"names":[],"mappings":"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"}
|