@ackplus/nest-crud-request 1.1.16 → 1.1.21
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/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/query-builder.js +4 -9
- package/dist/lib/query-builder.js.map +1 -0
- package/dist/lib/relation-builder.js +2 -1
- package/dist/lib/relation-builder.js.map +1 -0
- package/dist/lib/types.d.ts +19 -11
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +9 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/utils.js +1 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/where-builder.d.ts +0 -3
- package/dist/lib/where-builder.d.ts.map +1 -1
- package/dist/lib/where-builder.js +3 -23
- package/dist/lib/where-builder.js.map +1 -0
- package/package.json +6 -4
package/dist/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC"}
|
|
@@ -2,10 +2,10 @@ import { RelationBuilder } from './relation-builder';
|
|
|
2
2
|
import { deepMerge } from './utils';
|
|
3
3
|
import { WhereBuilder } from './where-builder';
|
|
4
4
|
export class QueryBuilder {
|
|
5
|
-
options = {};
|
|
6
|
-
whereBuilder = new WhereBuilder();
|
|
7
|
-
relationBuilder = new RelationBuilder();
|
|
8
5
|
constructor(options) {
|
|
6
|
+
this.options = {};
|
|
7
|
+
this.whereBuilder = new WhereBuilder();
|
|
8
|
+
this.relationBuilder = new RelationBuilder();
|
|
9
9
|
if (options) {
|
|
10
10
|
this.setOptions(options);
|
|
11
11
|
}
|
|
@@ -31,7 +31,6 @@ export class QueryBuilder {
|
|
|
31
31
|
return this;
|
|
32
32
|
}
|
|
33
33
|
addSelect(fields) {
|
|
34
|
-
// Ensure select is always an array
|
|
35
34
|
if (!this.options.select || typeof this.options.select === 'string') {
|
|
36
35
|
this.options.select = [];
|
|
37
36
|
}
|
|
@@ -44,7 +43,6 @@ export class QueryBuilder {
|
|
|
44
43
|
return this;
|
|
45
44
|
}
|
|
46
45
|
removeSelect(fields) {
|
|
47
|
-
// Ensure select is an array before filtering
|
|
48
46
|
if (this.options.select && Array.isArray(this.options.select)) {
|
|
49
47
|
if (Array.isArray(fields)) {
|
|
50
48
|
this.options.select = this.options.select.filter(field => !fields.includes(field));
|
|
@@ -112,7 +110,6 @@ export class QueryBuilder {
|
|
|
112
110
|
const options = {
|
|
113
111
|
...this.options,
|
|
114
112
|
};
|
|
115
|
-
// Convert where conditions to JSON string
|
|
116
113
|
if (this.whereBuilder.hasConditions()) {
|
|
117
114
|
if (constrainToNestedObject) {
|
|
118
115
|
options.where = this.whereBuilder.toObject();
|
|
@@ -124,7 +121,6 @@ export class QueryBuilder {
|
|
|
124
121
|
else {
|
|
125
122
|
delete options.where;
|
|
126
123
|
}
|
|
127
|
-
// Convert relations to JSON string
|
|
128
124
|
if (this.relationBuilder.hasRelations()) {
|
|
129
125
|
if (constrainToNestedObject) {
|
|
130
126
|
options.relations = this.relationBuilder.toObject();
|
|
@@ -136,7 +132,6 @@ export class QueryBuilder {
|
|
|
136
132
|
else {
|
|
137
133
|
delete options.relations;
|
|
138
134
|
}
|
|
139
|
-
// Convert order to JSON string if it exists
|
|
140
135
|
if (options.order && Object.keys(options.order).length > 0) {
|
|
141
136
|
if (constrainToNestedObject) {
|
|
142
137
|
options.order = options.order;
|
|
@@ -148,7 +143,6 @@ export class QueryBuilder {
|
|
|
148
143
|
else {
|
|
149
144
|
delete options.order;
|
|
150
145
|
}
|
|
151
|
-
// Convert select to JSON string if it exists
|
|
152
146
|
if (options.select && options.select.length > 0) {
|
|
153
147
|
if (constrainToNestedObject) {
|
|
154
148
|
options.select = options.select;
|
|
@@ -167,3 +161,4 @@ export class QueryBuilder {
|
|
|
167
161
|
return JSON.stringify(obj);
|
|
168
162
|
}
|
|
169
163
|
}
|
|
164
|
+
//# sourceMappingURL=query-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/lib/query-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export class RelationBuilder {
|
|
2
|
-
relations = {};
|
|
3
2
|
constructor(relations) {
|
|
3
|
+
this.relations = {};
|
|
4
4
|
if (relations) {
|
|
5
5
|
const relationOptions = typeof relations === 'string' ? JSON.parse(relations) : relations;
|
|
6
6
|
this.setRelations(relationOptions);
|
|
@@ -56,3 +56,4 @@ export class RelationBuilder {
|
|
|
56
56
|
return JSON.stringify(this.relations);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
+
//# sourceMappingURL=relation-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-builder.js","sourceRoot":"","sources":["../../src/lib/relation-builder.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,eAAe;IAIxB,YAAY,SAAoC;QAFxC,cAAS,GAAmB,EAAE,CAAC;QAGnC,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,eAAe,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,SAA0B;QACnC,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACzB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC/B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,QAAgB,EAAE,MAAiB,EAAE,KAA2B;QAChE,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAQ,EAAE,CAAC;YACpB,IAAI,MAAM,EAAE,CAAC;gBACT,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACR,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,QAAgB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY;QACR,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;CAEJ"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
export interface QueryBuilderOptions {
|
|
2
|
-
[key: string]: any;
|
|
3
|
-
select?: string[] | string;
|
|
4
|
-
relations?: RelationOptions | string;
|
|
5
|
-
where?: WhereOptions | string;
|
|
6
|
-
order?: Record<string, OrderDirectionEnum> | string;
|
|
7
|
-
skip?: number;
|
|
8
|
-
take?: number;
|
|
9
|
-
withDeleted?: boolean;
|
|
10
|
-
onlyDeleted?: boolean;
|
|
11
|
-
}
|
|
12
1
|
export declare enum WhereLogicalOperatorEnum {
|
|
13
2
|
AND = "$and",
|
|
14
3
|
OR = "$or"
|
|
@@ -26,6 +15,14 @@ export declare enum WhereOperatorEnum {
|
|
|
26
15
|
NOT_LIKE = "$notLike",
|
|
27
16
|
ILIKE = "$iLike",
|
|
28
17
|
NOT_ILIKE = "$notIlike",
|
|
18
|
+
STARTS_WITH = "$startsWith",
|
|
19
|
+
ENDS_WITH = "$endsWith",
|
|
20
|
+
ISTARTS_WITH = "$iStartsWith",
|
|
21
|
+
IENDS_WITH = "$iEndsWith",
|
|
22
|
+
IN_L = "$inL",
|
|
23
|
+
NOT_IN_L = "$notinL",
|
|
24
|
+
CONT_ARR = "$contArr",
|
|
25
|
+
INTERSECTS_ARR = "$intersectsArr",
|
|
29
26
|
IS_NULL = "$isNull",
|
|
30
27
|
IS_NOT_NULL = "$isNotNull",
|
|
31
28
|
BETWEEN = "$between",
|
|
@@ -50,4 +47,15 @@ export type RelationObjectValue = {
|
|
|
50
47
|
};
|
|
51
48
|
export type RelationObject = Record<string, RelationObjectValue | boolean>;
|
|
52
49
|
export type RelationOptions = string | string[] | RelationObject;
|
|
50
|
+
export interface QueryBuilderOptions {
|
|
51
|
+
[key: string]: any;
|
|
52
|
+
select?: string[] | string;
|
|
53
|
+
relations?: RelationOptions | string;
|
|
54
|
+
where?: WhereOptions | string;
|
|
55
|
+
order?: Record<string, OrderDirectionEnum> | string;
|
|
56
|
+
skip?: number;
|
|
57
|
+
take?: number;
|
|
58
|
+
withDeleted?: boolean;
|
|
59
|
+
onlyDeleted?: boolean;
|
|
60
|
+
}
|
|
53
61
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,oBAAY,wBAAwB;IAChC,GAAG,SAAS;IACZ,EAAE,QAAQ;CACb;AAED,oBAAY,iBAAiB;IACzB,EAAE,QAAQ;IACV,MAAM,QAAQ;IACd,EAAE,QAAQ;IACV,QAAQ,SAAS;IACjB,EAAE,QAAQ;IACV,QAAQ,SAAS;IACjB,EAAE,QAAQ;IACV,MAAM,WAAW;IACjB,IAAI,UAAU;IACd,QAAQ,aAAa;IACrB,KAAK,WAAW;IAChB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,QAAQ,YAAY;IACpB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,OAAO,YAAY;IACnB,WAAW,eAAe;IAC1B,OAAO,aAAa;IACpB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,QAAQ,aAAa;CACxB;AAED,oBAAY,kBAAkB;IAC1B,GAAG,QAAQ;IACX,IAAI,SAAS;CAChB;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;IACnC,GAAG,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC;AAE3E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,cAAc,CAAC;AAGjE,MAAM,WAAW,mBAAmB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IACrC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,MAAM,CAAC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB"}
|
package/dist/lib/types.js
CHANGED
|
@@ -17,6 +17,14 @@ export var WhereOperatorEnum;
|
|
|
17
17
|
WhereOperatorEnum["NOT_LIKE"] = "$notLike";
|
|
18
18
|
WhereOperatorEnum["ILIKE"] = "$iLike";
|
|
19
19
|
WhereOperatorEnum["NOT_ILIKE"] = "$notIlike";
|
|
20
|
+
WhereOperatorEnum["STARTS_WITH"] = "$startsWith";
|
|
21
|
+
WhereOperatorEnum["ENDS_WITH"] = "$endsWith";
|
|
22
|
+
WhereOperatorEnum["ISTARTS_WITH"] = "$iStartsWith";
|
|
23
|
+
WhereOperatorEnum["IENDS_WITH"] = "$iEndsWith";
|
|
24
|
+
WhereOperatorEnum["IN_L"] = "$inL";
|
|
25
|
+
WhereOperatorEnum["NOT_IN_L"] = "$notinL";
|
|
26
|
+
WhereOperatorEnum["CONT_ARR"] = "$contArr";
|
|
27
|
+
WhereOperatorEnum["INTERSECTS_ARR"] = "$intersectsArr";
|
|
20
28
|
WhereOperatorEnum["IS_NULL"] = "$isNull";
|
|
21
29
|
WhereOperatorEnum["IS_NOT_NULL"] = "$isNotNull";
|
|
22
30
|
WhereOperatorEnum["BETWEEN"] = "$between";
|
|
@@ -29,3 +37,4 @@ export var OrderDirectionEnum;
|
|
|
29
37
|
OrderDirectionEnum["ASC"] = "ASC";
|
|
30
38
|
OrderDirectionEnum["DESC"] = "DESC";
|
|
31
39
|
})(OrderDirectionEnum || (OrderDirectionEnum = {}));
|
|
40
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAChC,wCAAY,CAAA;IACZ,sCAAU,CAAA;AACd,CAAC,EAHW,wBAAwB,KAAxB,wBAAwB,QAGnC;AAED,MAAM,CAAN,IAAY,iBA2BX;AA3BD,WAAY,iBAAiB;IACzB,+BAAU,CAAA;IACV,mCAAc,CAAA;IACd,+BAAU,CAAA;IACV,sCAAiB,CAAA;IACjB,+BAAU,CAAA;IACV,sCAAiB,CAAA;IACjB,+BAAU,CAAA;IACV,sCAAiB,CAAA;IACjB,mCAAc,CAAA;IACd,0CAAqB,CAAA;IACrB,qCAAgB,CAAA;IAChB,4CAAuB,CAAA;IACvB,gDAA2B,CAAA;IAC3B,4CAAuB,CAAA;IACvB,kDAA6B,CAAA;IAC7B,8CAAyB,CAAA;IACzB,kCAAa,CAAA;IACb,yCAAoB,CAAA;IACpB,0CAAqB,CAAA;IACrB,sDAAiC,CAAA;IACjC,wCAAmB,CAAA;IACnB,+CAA0B,CAAA;IAC1B,yCAAoB,CAAA;IACpB,gDAA2B,CAAA;IAC3B,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;AACzB,CAAC,EA3BW,iBAAiB,KAAjB,iBAAiB,QA2B5B;AAED,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,iCAAW,CAAA;IACX,mCAAa,CAAA;AACjB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B"}
|
package/dist/lib/utils.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAC,MAAW,EAAE,MAAW;IAC9C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IACD,OAAO;QACH,GAAG,MAAM;QACT,GAAG,MAAM;KACZ,CAAC;AACN,CAAC"}
|
|
@@ -14,9 +14,6 @@ export declare class WhereBuilder {
|
|
|
14
14
|
toJson(): string;
|
|
15
15
|
private parseCondition;
|
|
16
16
|
private updateCondition;
|
|
17
|
-
/**
|
|
18
|
-
* Intelligently merge two condition objects, handling logical operators properly
|
|
19
|
-
*/
|
|
20
17
|
private mergeConditions;
|
|
21
18
|
}
|
|
22
19
|
//# sourceMappingURL=where-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where-builder.d.ts","sourceRoot":"","sources":["../../src/lib/where-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGtE,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC,CAAC;AAEjJ,qBAAa,YAAY;IAErB,OAAO,CAAC,WAAW,CAA2B;gBAElC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAIhD,OAAO,CAAC,UAAU;IAIlB,KAAK,IAAI,IAAI;IAKb,KAAK,CAAC,GAAG,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAK3C,QAAQ,CAAC,GAAG,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAK9C,OAAO,CAAC,GAAG,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAK7C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAehC,aAAa,IAAI,OAAO;IAIxB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI/B,MAAM,IAAI,MAAM;IAIhB,OAAO,CAAC,cAAc;IAuDtB,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"where-builder.d.ts","sourceRoot":"","sources":["../../src/lib/where-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGtE,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC,CAAC;AAEjJ,qBAAa,YAAY;IAErB,OAAO,CAAC,WAAW,CAA2B;gBAElC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAIhD,OAAO,CAAC,UAAU;IAIlB,KAAK,IAAI,IAAI;IAKb,KAAK,CAAC,GAAG,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAK3C,QAAQ,CAAC,GAAG,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAK9C,OAAO,CAAC,GAAG,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAK7C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAehC,aAAa,IAAI,OAAO;IAIxB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI/B,MAAM,IAAI,MAAM;IAIhB,OAAO,CAAC,cAAc;IAuDtB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;CA0B1B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WhereLogicalOperatorEnum, WhereOperatorEnum } from './types';
|
|
2
2
|
export class WhereBuilder {
|
|
3
|
-
whereObject = {};
|
|
4
3
|
constructor(where) {
|
|
4
|
+
this.whereObject = {};
|
|
5
5
|
this.whereObject = typeof where === 'string' ? JSON.parse(where) : where || {};
|
|
6
6
|
}
|
|
7
7
|
isOperator(value) {
|
|
@@ -28,7 +28,7 @@ export class WhereBuilder {
|
|
|
28
28
|
let current = this.whereObject;
|
|
29
29
|
for (let i = 0; i < keys.length - 1; i++) {
|
|
30
30
|
if (!current[keys[i]]) {
|
|
31
|
-
return this;
|
|
31
|
+
return this;
|
|
32
32
|
}
|
|
33
33
|
current = current[keys[i]];
|
|
34
34
|
}
|
|
@@ -49,33 +49,27 @@ export class WhereBuilder {
|
|
|
49
49
|
let operator;
|
|
50
50
|
let value;
|
|
51
51
|
if (args.length === 0) {
|
|
52
|
-
// Do nothing
|
|
53
52
|
}
|
|
54
53
|
else if (args.length === 1) {
|
|
55
54
|
const condition = args[0];
|
|
56
55
|
if (typeof condition === 'function') {
|
|
57
|
-
// If the condition is a function, create a new WhereBuilder and call the function with it
|
|
58
56
|
const builder = new WhereBuilder();
|
|
59
57
|
condition(builder);
|
|
60
58
|
this.updateCondition(builder.toObject(), type);
|
|
61
59
|
}
|
|
62
60
|
else if (condition instanceof WhereBuilder) {
|
|
63
|
-
// If the condition is a WhereBuilder
|
|
64
61
|
this.updateCondition(condition.toObject(), type);
|
|
65
62
|
}
|
|
66
63
|
else {
|
|
67
|
-
// If the condition is a simple object
|
|
68
64
|
this.updateCondition(condition, type);
|
|
69
65
|
}
|
|
70
66
|
}
|
|
71
67
|
else if (args.length === 2 || args.length === 3) {
|
|
72
68
|
if (args.length === 2) {
|
|
73
|
-
// if there are only two arguments, the operator is EQ
|
|
74
69
|
field = args[0];
|
|
75
70
|
value = args[1];
|
|
76
71
|
if (typeof value === 'object') {
|
|
77
72
|
const firstKey = Object.keys(value)[0];
|
|
78
|
-
// if the first key is a operator, update the value with the operator
|
|
79
73
|
if (firstKey.startsWith('$')) {
|
|
80
74
|
this.updateCondition({ [field]: value }, type);
|
|
81
75
|
}
|
|
@@ -91,7 +85,6 @@ export class WhereBuilder {
|
|
|
91
85
|
}
|
|
92
86
|
}
|
|
93
87
|
else {
|
|
94
|
-
// if there are three arguments, the operator is the second argument
|
|
95
88
|
field = args[0];
|
|
96
89
|
operator = args[1];
|
|
97
90
|
value = args[2];
|
|
@@ -100,47 +93,34 @@ export class WhereBuilder {
|
|
|
100
93
|
}
|
|
101
94
|
return this;
|
|
102
95
|
}
|
|
103
|
-
// private updateCondition(condition: Record<string, any>, type: '$and' | '$or'): void {
|
|
104
|
-
// this.whereObject[type] = [...(this.whereObject[type] || []), condition].filter(Boolean);
|
|
105
|
-
// }
|
|
106
96
|
updateCondition(condition, type) {
|
|
107
97
|
if (type === null) {
|
|
108
|
-
// For direct where conditions, we need to merge intelligently
|
|
109
98
|
this.mergeConditions(this.whereObject, condition);
|
|
110
99
|
}
|
|
111
100
|
else {
|
|
112
|
-
// For logical operators ($and, $or), add to the array
|
|
113
101
|
this.whereObject[type] = [...(this.whereObject[type] || []), condition].filter(Boolean);
|
|
114
102
|
}
|
|
115
103
|
}
|
|
116
|
-
/**
|
|
117
|
-
* Intelligently merge two condition objects, handling logical operators properly
|
|
118
|
-
*/
|
|
119
104
|
mergeConditions(target, source) {
|
|
120
105
|
for (const key in source) {
|
|
121
106
|
const sourceValue = source[key];
|
|
122
107
|
if (key === '$and' || key === '$or') {
|
|
123
|
-
// Handle logical operators - merge arrays
|
|
124
108
|
if (target[key]) {
|
|
125
|
-
// If target already has this logical operator, merge the arrays
|
|
126
109
|
target[key] = [...(target[key] || []), ...(Array.isArray(sourceValue) ? sourceValue : [sourceValue])];
|
|
127
110
|
}
|
|
128
111
|
else {
|
|
129
|
-
// If target doesn't have this logical operator, set it
|
|
130
112
|
target[key] = Array.isArray(sourceValue) ? sourceValue : [sourceValue];
|
|
131
113
|
}
|
|
132
114
|
}
|
|
133
115
|
else {
|
|
134
|
-
// Handle regular field conditions
|
|
135
116
|
if (target[key] && typeof target[key] === 'object' && typeof sourceValue === 'object') {
|
|
136
|
-
// If both target and source have the same field with object values, merge them
|
|
137
117
|
target[key] = { ...target[key], ...sourceValue };
|
|
138
118
|
}
|
|
139
119
|
else {
|
|
140
|
-
// Otherwise, simply assign the value
|
|
141
120
|
target[key] = sourceValue;
|
|
142
121
|
}
|
|
143
122
|
}
|
|
144
123
|
}
|
|
145
124
|
}
|
|
146
125
|
}
|
|
126
|
+
//# sourceMappingURL=where-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"where-builder.js","sourceRoot":"","sources":["../../src/lib/where-builder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ackplus/nest-crud-request",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.21",
|
|
4
4
|
"description": "Framework-agnostic query builder for REST APIs - build complex queries with filtering, relations, and pagination for both frontend and backend",
|
|
5
5
|
"type": "commonjs",
|
|
6
|
-
"main": "./
|
|
7
|
-
"types": "./
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
8
|
"scripts": {
|
|
9
9
|
"clean": "rm -rf dist",
|
|
10
10
|
"build": "tsc -p tsconfig.build.json",
|
|
@@ -42,6 +42,8 @@
|
|
|
42
42
|
"tslib": "^2.3.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"typescript": "^5.7.3"
|
|
45
|
+
"typescript": "^5.7.3",
|
|
46
|
+
"@types/jest": "^30.0.0",
|
|
47
|
+
"@types/node": "^22.0.0"
|
|
46
48
|
}
|
|
47
49
|
}
|