@ackplus/nest-crud-request 1.1.21 → 1.1.22

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,17 +1,10 @@
1
1
  {
2
2
  "name": "@ackplus/nest-crud-request",
3
- "version": "1.1.21",
3
+ "version": "1.1.22",
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
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
- "scripts": {
9
- "clean": "rm -rf dist",
10
- "build": "tsc -p tsconfig.build.json",
11
- "format": "prettier --write \"src/**/*.ts\"",
12
- "lint": "eslint \"src/**/*.ts\" --fix",
13
- "prepublishOnly": "npm run build"
14
- },
15
8
  "files": [
16
9
  "dist",
17
10
  "README.md",
@@ -45,5 +38,11 @@
45
38
  "typescript": "^5.7.3",
46
39
  "@types/jest": "^30.0.0",
47
40
  "@types/node": "^22.0.0"
41
+ },
42
+ "scripts": {
43
+ "clean": "rm -rf dist",
44
+ "build": "tsc -p tsconfig.build.json",
45
+ "format": "prettier --write \"src/**/*.ts\"",
46
+ "lint": "eslint \"src/**/*.ts\" --fix"
48
47
  }
49
- }
48
+ }
package/dist/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './lib/query-builder';
2
- export * from './lib/where-builder';
3
- export * from './lib/types';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC"}
package/dist/index.js DELETED
@@ -1,4 +0,0 @@
1
- export * from './lib/query-builder';
2
- export * from './lib/where-builder';
3
- export * from './lib/types';
4
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
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"}
@@ -1,37 +0,0 @@
1
- import { QueryBuilderOptions, OrderDirectionEnum } from './types';
2
- import { WhereBuilderCondition } from './where-builder';
3
- export declare class QueryBuilder {
4
- private options;
5
- private whereBuilder;
6
- private relationBuilder;
7
- constructor(options?: QueryBuilderOptions);
8
- setOptions(options: QueryBuilderOptions): this;
9
- mergeOptions(options: QueryBuilderOptions, deep?: boolean): this;
10
- addSelect(fields: string | string[]): this;
11
- removeSelect(fields: string | string[]): this;
12
- addRelation(relation: string, select?: string[], where?: Record<string, any>): this;
13
- removeRelation(relation: string): this;
14
- where(...args: WhereBuilderCondition): this;
15
- andWhere(...args: WhereBuilderCondition): this;
16
- orWhere(...args: WhereBuilderCondition): this;
17
- addOrder(orderBy: string, order: OrderDirectionEnum): this;
18
- removeOrder(orderBy: string): this;
19
- setSkip(skip: number): this;
20
- setTake(take: number): this;
21
- setWithDeleted(withDeleted: boolean): this;
22
- setOnlyDeleted(onlyDeleted: boolean): this;
23
- set(key: string, value: any): this;
24
- toObject(constrainToNestedObject?: boolean): {
25
- [key: string]: any;
26
- select?: string[] | string;
27
- relations?: import("./types").RelationOptions | string;
28
- where?: import("./types").WhereOptions | string;
29
- order?: Record<string, OrderDirectionEnum> | string;
30
- skip?: number;
31
- take?: number;
32
- withDeleted?: boolean;
33
- onlyDeleted?: boolean;
34
- };
35
- toJson(): string;
36
- }
37
- //# sourceMappingURL=query-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/lib/query-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,EAAgB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGtE,qBAAa,YAAY;IAErB,OAAO,CAAC,OAAO,CAA2B;IAE1C,OAAO,CAAC,YAAY,CAAoC;IAExD,OAAO,CAAC,eAAe,CAA0C;gBAErD,OAAO,CAAC,EAAE,mBAAmB;IAMzC,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAO9C,YAAY,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,UAAQ,GAAG,IAAI;IAc9D,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAa1C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAY7C,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAKnF,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKtC,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,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAQ1D,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOlC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,cAAc,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAK1C,cAAc,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAK1C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAKlC,QAAQ,CAAC,uBAAuB,UAAQ;;;;;;;;;;;IAoDxC,MAAM;CAKT"}
@@ -1,164 +0,0 @@
1
- import { RelationBuilder } from './relation-builder';
2
- import { deepMerge } from './utils';
3
- import { WhereBuilder } from './where-builder';
4
- export class QueryBuilder {
5
- constructor(options) {
6
- this.options = {};
7
- this.whereBuilder = new WhereBuilder();
8
- this.relationBuilder = new RelationBuilder();
9
- if (options) {
10
- this.setOptions(options);
11
- }
12
- }
13
- setOptions(options) {
14
- this.options = options;
15
- this.whereBuilder = new WhereBuilder(options.where);
16
- this.relationBuilder = new RelationBuilder(options.relations);
17
- return this;
18
- }
19
- mergeOptions(options, deep = false) {
20
- let updatedOptions = {};
21
- if (deep) {
22
- updatedOptions = deepMerge(this.options, options);
23
- }
24
- else {
25
- updatedOptions = {
26
- ...this.options,
27
- ...options,
28
- };
29
- }
30
- this.setOptions(updatedOptions);
31
- return this;
32
- }
33
- addSelect(fields) {
34
- if (!this.options.select || typeof this.options.select === 'string') {
35
- this.options.select = [];
36
- }
37
- if (Array.isArray(fields)) {
38
- this.options.select.push(...fields);
39
- }
40
- else {
41
- this.options.select.push(fields);
42
- }
43
- return this;
44
- }
45
- removeSelect(fields) {
46
- if (this.options.select && Array.isArray(this.options.select)) {
47
- if (Array.isArray(fields)) {
48
- this.options.select = this.options.select.filter(field => !fields.includes(field));
49
- }
50
- else {
51
- this.options.select = this.options.select.filter(field => field !== fields);
52
- }
53
- }
54
- return this;
55
- }
56
- addRelation(relation, select, where) {
57
- this.relationBuilder.add(relation, select, where);
58
- return this;
59
- }
60
- removeRelation(relation) {
61
- this.relationBuilder.remove(relation);
62
- return this;
63
- }
64
- where(...args) {
65
- this.whereBuilder.where(...args);
66
- return this;
67
- }
68
- andWhere(...args) {
69
- this.whereBuilder.andWhere(...args);
70
- return this;
71
- }
72
- orWhere(...args) {
73
- this.whereBuilder.orWhere(...args);
74
- return this;
75
- }
76
- addOrder(orderBy, order) {
77
- if (!this.options.order) {
78
- this.options.order = {};
79
- }
80
- this.options.order[orderBy] = order;
81
- return this;
82
- }
83
- removeOrder(orderBy) {
84
- if (this.options.order) {
85
- delete this.options.order[orderBy];
86
- }
87
- return this;
88
- }
89
- setSkip(skip) {
90
- this.options.skip = skip;
91
- return this;
92
- }
93
- setTake(take) {
94
- this.options.take = take;
95
- return this;
96
- }
97
- setWithDeleted(withDeleted) {
98
- this.options.withDeleted = withDeleted;
99
- return this;
100
- }
101
- setOnlyDeleted(onlyDeleted) {
102
- this.options.onlyDeleted = onlyDeleted;
103
- return this;
104
- }
105
- set(key, value) {
106
- this.options[key] = value;
107
- return this;
108
- }
109
- toObject(constrainToNestedObject = false) {
110
- const options = {
111
- ...this.options,
112
- };
113
- if (this.whereBuilder.hasConditions()) {
114
- if (constrainToNestedObject) {
115
- options.where = this.whereBuilder.toObject();
116
- }
117
- else {
118
- options.where = JSON.stringify(this.whereBuilder.toObject());
119
- }
120
- }
121
- else {
122
- delete options.where;
123
- }
124
- if (this.relationBuilder.hasRelations()) {
125
- if (constrainToNestedObject) {
126
- options.relations = this.relationBuilder.toObject();
127
- }
128
- else {
129
- options.relations = JSON.stringify(this.relationBuilder.toObject());
130
- }
131
- }
132
- else {
133
- delete options.relations;
134
- }
135
- if (options.order && Object.keys(options.order).length > 0) {
136
- if (constrainToNestedObject) {
137
- options.order = options.order;
138
- }
139
- else {
140
- options.order = JSON.stringify(options.order);
141
- }
142
- }
143
- else {
144
- delete options.order;
145
- }
146
- if (options.select && options.select.length > 0) {
147
- if (constrainToNestedObject) {
148
- options.select = options.select;
149
- }
150
- else {
151
- options.select = JSON.stringify(options.select);
152
- }
153
- }
154
- else {
155
- delete options.select;
156
- }
157
- return options;
158
- }
159
- toJson() {
160
- const obj = this.toObject(true);
161
- return JSON.stringify(obj);
162
- }
163
- }
164
- //# sourceMappingURL=query-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/lib/query-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAGtE,MAAM,OAAO,YAAY;IAQrB,YAAY,OAA6B;QANjC,YAAO,GAAwB,EAAE,CAAC;QAElC,iBAAY,GAAiB,IAAI,YAAY,EAAE,CAAC;QAEhD,oBAAe,GAAoB,IAAI,eAAe,EAAE,CAAC;QAG7D,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,UAAU,CAAC,OAA4B;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,OAA4B,EAAE,IAAI,GAAG,KAAK;QACnD,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,IAAI,EAAE,CAAC;YACP,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACJ,cAAc,GAAG;gBACb,GAAG,IAAI,CAAC,OAAO;gBACf,GAAG,OAAO;aACb,CAAC;QACN,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAyB;QAE/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,MAAyB;QAElC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;YAChF,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAgB,EAAE,MAAiB,EAAE,KAA2B;QACxE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,QAAgB;QAC3B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,IAA2B;QAChC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,GAAG,IAA2B;QACnC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,IAA2B;QAClC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,OAAe,EAAE,KAAyB;QAC/C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,OAAe;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,IAAY;QAChB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,IAAY;QAChB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,WAAoB;QAC/B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,WAAoB;QAC/B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAU;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,uBAAuB,GAAG,KAAK;QACpC,MAAM,OAAO,GAAG;YACZ,GAAG,IAAI,CAAC,OAAO;SAClB,CAAC;QAGF,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;YACpC,IAAI,uBAAuB,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC;QAGD,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,EAAE,CAAC;YACtC,IAAI,uBAAuB,EAAE,CAAC;gBAC1B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,SAAS,CAAC;QAC7B,CAAC;QAGD,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,IAAI,uBAAuB,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC;QAGD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,IAAI,uBAAuB,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,MAAM,CAAC;QAC1B,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,MAAM;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;CAEJ"}
@@ -1,13 +0,0 @@
1
- import { RelationObject, RelationOptions } from './types';
2
- export declare class RelationBuilder {
3
- private relations;
4
- constructor(relations?: RelationOptions | string);
5
- setRelations(relations: RelationOptions): this;
6
- clear(): this;
7
- add(relation: string, select?: string[], where?: Record<string, any>): this;
8
- remove(relation: string): this;
9
- hasRelations(): boolean;
10
- toObject(): RelationObject;
11
- toJson(): string;
12
- }
13
- //# sourceMappingURL=relation-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relation-builder.d.ts","sourceRoot":"","sources":["../../src/lib/relation-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/E,qBAAa,eAAe;IAExB,OAAO,CAAC,SAAS,CAAsB;gBAE3B,SAAS,CAAC,EAAE,eAAe,GAAG,MAAM;IAOhD,YAAY,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAe9C,KAAK,IAAI,IAAI;IAKb,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAgB3E,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK9B,YAAY,IAAI,OAAO;IAIvB,QAAQ,IAAI,cAAc;IAI1B,MAAM,IAAI,MAAM;CAInB"}
@@ -1,59 +0,0 @@
1
- export class RelationBuilder {
2
- constructor(relations) {
3
- this.relations = {};
4
- if (relations) {
5
- const relationOptions = typeof relations === 'string' ? JSON.parse(relations) : relations;
6
- this.setRelations(relationOptions);
7
- }
8
- }
9
- setRelations(relations) {
10
- if (relations) {
11
- if (Array.isArray(relations)) {
12
- relations.forEach(relation => {
13
- this.add(relation);
14
- });
15
- }
16
- else if (typeof relations === 'string') {
17
- this.add(relations);
18
- }
19
- else {
20
- this.relations = relations;
21
- }
22
- }
23
- return this;
24
- }
25
- clear() {
26
- this.relations = {};
27
- return this;
28
- }
29
- add(relation, select, where) {
30
- if (!select && !where) {
31
- this.relations[relation] = true;
32
- }
33
- else {
34
- const obj = {};
35
- if (select) {
36
- obj.select = select;
37
- }
38
- if (where) {
39
- obj.where = where;
40
- }
41
- this.relations[relation] = obj;
42
- }
43
- return this;
44
- }
45
- remove(relation) {
46
- delete this.relations[relation];
47
- return this;
48
- }
49
- hasRelations() {
50
- return Object.keys(this.relations).length > 0;
51
- }
52
- toObject() {
53
- return this.relations;
54
- }
55
- toJson() {
56
- return JSON.stringify(this.relations);
57
- }
58
- }
59
- //# sourceMappingURL=relation-builder.js.map
@@ -1 +0,0 @@
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"}
@@ -1,61 +0,0 @@
1
- export declare enum WhereLogicalOperatorEnum {
2
- AND = "$and",
3
- OR = "$or"
4
- }
5
- export declare enum WhereOperatorEnum {
6
- EQ = "$eq",
7
- NOT_EQ = "$ne",
8
- GT = "$gt",
9
- GT_OR_EQ = "$gte",
10
- LT = "$lt",
11
- LT_OR_EQ = "$lte",
12
- IN = "$in",
13
- NOT_IN = "$notIn",
14
- LIKE = "$like",
15
- NOT_LIKE = "$notLike",
16
- ILIKE = "$iLike",
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",
26
- IS_NULL = "$isNull",
27
- IS_NOT_NULL = "$isNotNull",
28
- BETWEEN = "$between",
29
- NOT_BETWEEN = "$notBetween",
30
- IS_TRUE = "$isTrue",
31
- IS_FALSE = "$isFalse"
32
- }
33
- export declare enum OrderDirectionEnum {
34
- ASC = "ASC",
35
- DESC = "DESC"
36
- }
37
- export type WhereObject = {
38
- [key: string]: any;
39
- $and?: WhereObject | WhereObject[];
40
- $or?: WhereObject | WhereObject[];
41
- };
42
- export type WhereOptions = WhereObject | WhereObject[];
43
- export type RelationObjectValue = {
44
- select?: string[];
45
- where?: WhereObject | WhereObject[];
46
- joinType?: 'left' | 'inner';
47
- };
48
- export type RelationObject = Record<string, RelationObjectValue | boolean>;
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
- }
61
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,40 +0,0 @@
1
- export var WhereLogicalOperatorEnum;
2
- (function (WhereLogicalOperatorEnum) {
3
- WhereLogicalOperatorEnum["AND"] = "$and";
4
- WhereLogicalOperatorEnum["OR"] = "$or";
5
- })(WhereLogicalOperatorEnum || (WhereLogicalOperatorEnum = {}));
6
- export var WhereOperatorEnum;
7
- (function (WhereOperatorEnum) {
8
- WhereOperatorEnum["EQ"] = "$eq";
9
- WhereOperatorEnum["NOT_EQ"] = "$ne";
10
- WhereOperatorEnum["GT"] = "$gt";
11
- WhereOperatorEnum["GT_OR_EQ"] = "$gte";
12
- WhereOperatorEnum["LT"] = "$lt";
13
- WhereOperatorEnum["LT_OR_EQ"] = "$lte";
14
- WhereOperatorEnum["IN"] = "$in";
15
- WhereOperatorEnum["NOT_IN"] = "$notIn";
16
- WhereOperatorEnum["LIKE"] = "$like";
17
- WhereOperatorEnum["NOT_LIKE"] = "$notLike";
18
- WhereOperatorEnum["ILIKE"] = "$iLike";
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";
28
- WhereOperatorEnum["IS_NULL"] = "$isNull";
29
- WhereOperatorEnum["IS_NOT_NULL"] = "$isNotNull";
30
- WhereOperatorEnum["BETWEEN"] = "$between";
31
- WhereOperatorEnum["NOT_BETWEEN"] = "$notBetween";
32
- WhereOperatorEnum["IS_TRUE"] = "$isTrue";
33
- WhereOperatorEnum["IS_FALSE"] = "$isFalse";
34
- })(WhereOperatorEnum || (WhereOperatorEnum = {}));
35
- export var OrderDirectionEnum;
36
- (function (OrderDirectionEnum) {
37
- OrderDirectionEnum["ASC"] = "ASC";
38
- OrderDirectionEnum["DESC"] = "DESC";
39
- })(OrderDirectionEnum || (OrderDirectionEnum = {}));
40
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
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"}
@@ -1,2 +0,0 @@
1
- export declare function deepMerge(target: any, source: any): any;
2
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,CAUvD"}
package/dist/lib/utils.js DELETED
@@ -1,12 +0,0 @@
1
- export function deepMerge(target, source) {
2
- for (const key in source) {
3
- if (source[key] instanceof Object && key in target) {
4
- Object.assign(source[key], deepMerge(target[key], source[key]));
5
- }
6
- }
7
- return {
8
- ...target,
9
- ...source,
10
- };
11
- }
12
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
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"}
@@ -1,19 +0,0 @@
1
- import { WhereOperatorEnum } from './types';
2
- export type WhereBuilderCondition = [string, any] | [string, WhereOperatorEnum, any] | [Record<string, any>] | [(builder: WhereBuilder) => void];
3
- export declare class WhereBuilder {
4
- private whereObject;
5
- constructor(where?: Record<string, any> | string);
6
- private isOperator;
7
- clear(): this;
8
- where(...args: WhereBuilderCondition): this;
9
- andWhere(...args: WhereBuilderCondition): this;
10
- orWhere(...args: WhereBuilderCondition): this;
11
- removeWhere(field: string): this;
12
- hasConditions(): boolean;
13
- toObject(): Record<string, any>;
14
- toJson(): string;
15
- private parseCondition;
16
- private updateCondition;
17
- private mergeConditions;
18
- }
19
- //# sourceMappingURL=where-builder.d.ts.map
@@ -1 +0,0 @@
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,126 +0,0 @@
1
- import { WhereLogicalOperatorEnum, WhereOperatorEnum } from './types';
2
- export class WhereBuilder {
3
- constructor(where) {
4
- this.whereObject = {};
5
- this.whereObject = typeof where === 'string' ? JSON.parse(where) : where || {};
6
- }
7
- isOperator(value) {
8
- return `${value}`.startsWith('$');
9
- }
10
- clear() {
11
- this.whereObject = {};
12
- return this;
13
- }
14
- where(...args) {
15
- this.parseCondition(null, ...args);
16
- return this;
17
- }
18
- andWhere(...args) {
19
- this.parseCondition(WhereLogicalOperatorEnum.AND, ...args);
20
- return this;
21
- }
22
- orWhere(...args) {
23
- this.parseCondition(WhereLogicalOperatorEnum.OR, ...args);
24
- return this;
25
- }
26
- removeWhere(field) {
27
- const keys = field.split('.');
28
- let current = this.whereObject;
29
- for (let i = 0; i < keys.length - 1; i++) {
30
- if (!current[keys[i]]) {
31
- return this;
32
- }
33
- current = current[keys[i]];
34
- }
35
- delete current[keys[keys.length - 1]];
36
- return this;
37
- }
38
- hasConditions() {
39
- return Object.keys(this.whereObject).length > 0;
40
- }
41
- toObject() {
42
- return this.whereObject;
43
- }
44
- toJson() {
45
- return JSON.stringify(this.whereObject);
46
- }
47
- parseCondition(type, ...args) {
48
- let field;
49
- let operator;
50
- let value;
51
- if (args.length === 0) {
52
- }
53
- else if (args.length === 1) {
54
- const condition = args[0];
55
- if (typeof condition === 'function') {
56
- const builder = new WhereBuilder();
57
- condition(builder);
58
- this.updateCondition(builder.toObject(), type);
59
- }
60
- else if (condition instanceof WhereBuilder) {
61
- this.updateCondition(condition.toObject(), type);
62
- }
63
- else {
64
- this.updateCondition(condition, type);
65
- }
66
- }
67
- else if (args.length === 2 || args.length === 3) {
68
- if (args.length === 2) {
69
- field = args[0];
70
- value = args[1];
71
- if (typeof value === 'object') {
72
- const firstKey = Object.keys(value)[0];
73
- if (firstKey.startsWith('$')) {
74
- this.updateCondition({ [field]: value }, type);
75
- }
76
- else {
77
- this.updateCondition({ [field]: { [WhereOperatorEnum.EQ]: value } }, type);
78
- }
79
- }
80
- else if (this.isOperator(value)) {
81
- this.updateCondition({ [field]: { [value]: true } }, type);
82
- }
83
- else {
84
- this.updateCondition({ [field]: { [WhereOperatorEnum.EQ]: value } }, type);
85
- }
86
- }
87
- else {
88
- field = args[0];
89
- operator = args[1];
90
- value = args[2];
91
- this.updateCondition({ [field]: { [operator]: value } }, type);
92
- }
93
- }
94
- return this;
95
- }
96
- updateCondition(condition, type) {
97
- if (type === null) {
98
- this.mergeConditions(this.whereObject, condition);
99
- }
100
- else {
101
- this.whereObject[type] = [...(this.whereObject[type] || []), condition].filter(Boolean);
102
- }
103
- }
104
- mergeConditions(target, source) {
105
- for (const key in source) {
106
- const sourceValue = source[key];
107
- if (key === '$and' || key === '$or') {
108
- if (target[key]) {
109
- target[key] = [...(target[key] || []), ...(Array.isArray(sourceValue) ? sourceValue : [sourceValue])];
110
- }
111
- else {
112
- target[key] = Array.isArray(sourceValue) ? sourceValue : [sourceValue];
113
- }
114
- }
115
- else {
116
- if (target[key] && typeof target[key] === 'object' && typeof sourceValue === 'object') {
117
- target[key] = { ...target[key], ...sourceValue };
118
- }
119
- else {
120
- target[key] = sourceValue;
121
- }
122
- }
123
- }
124
- }
125
- }
126
- //# sourceMappingURL=where-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"where-builder.js","sourceRoot":"","sources":["../../src/lib/where-builder.ts"],"names":[],"mappings":"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"}