@volcanicminds/typeorm 0.9.0 → 1.0.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 +131 -83
- package/dist/lib/query.d.ts +5 -2
- package/dist/lib/query.js +102 -18
- package/dist/lib/query.js.map +1 -1
- package/esm/lib/query.d.ts +5 -2
- package/esm/lib/query.js +102 -18
- package/esm/lib/query.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,115 +5,163 @@
|
|
|
5
5
|
|
|
6
6
|
# volcanic-database-typeorm
|
|
7
7
|
|
|
8
|
+
`@volcanicminds/typeorm` is a powerful utility library for TypeORM that dynamically translates HTTP query string parameters into complex pagination, sorting, and filtering queries. It offers a database-agnostic abstraction layer, enabling seamless operation with both SQL (e.g., PostgreSQL) and NoSQL (e.g., MongoDB) databases for most common use cases.
|
|
9
|
+
|
|
8
10
|
## Based on
|
|
9
11
|
|
|
10
12
|
Based on [TypeORM](https://www.typeorm.io) ([GitHub](https://github.com/typeorm/typeorm)).
|
|
11
13
|
|
|
12
14
|
And, what you see in [package.json](package.json).
|
|
13
15
|
|
|
14
|
-
##
|
|
16
|
+
## Core Features
|
|
17
|
+
|
|
18
|
+
- **Server-Side Pagination**: Effortlessly handle large datasets by using `page` and `pageSize` parameters.
|
|
19
|
+
- **Multi-Field Sorting**: Easily define complex sorting orders directly from the URL.
|
|
20
|
+
- **Advanced Dynamic Filtering**: Go beyond simple equality checks with a rich set of filter operators.
|
|
21
|
+
- **Nested Relation Queries**: Filter and sort based on fields of related entities using dot notation.
|
|
22
|
+
- **Complex Boolean Logic**: Construct intricate queries with nested `AND` and `OR` conditions using a powerful `_logic` parameter.
|
|
23
|
+
- **Hybrid Database Support**: Write a single API endpoint that works transparently with both PostgreSQL and MongoDB for standard queries.
|
|
24
|
+
- **Standalone or Integrated**: Use it as a standalone utility with any Node.js framework or enjoy seamless integration with `@volcanicminds/backend`.
|
|
25
|
+
|
|
26
|
+
## Installation
|
|
15
27
|
|
|
16
|
-
```
|
|
28
|
+
```sh
|
|
17
29
|
yarn add @volcanicminds/typeorm
|
|
18
30
|
```
|
|
19
31
|
|
|
20
|
-
|
|
32
|
+
## Core Concept
|
|
21
33
|
|
|
22
|
-
|
|
34
|
+
The library's main purpose is to bridge the gap between flat HTTP query strings and the structured query objects required by TypeORM. The flow is simple yet powerful:
|
|
23
35
|
|
|
24
|
-
|
|
25
|
-
yarn upgrade-deps
|
|
26
|
-
```
|
|
36
|
+
`HTTP Query String` -> `applyQuery()` -> `TypeORM Query Object`
|
|
27
37
|
|
|
28
|
-
|
|
38
|
+
This allows you to build flexible and powerful data APIs with minimal boilerplate.
|
|
29
39
|
|
|
30
|
-
|
|
40
|
+
## Usage
|
|
31
41
|
|
|
32
|
-
|
|
33
|
-
[postgres data types: numeric](https://www.postgresql.org/docs/current/datatype-numeric.html)
|
|
42
|
+
### Use Case 1: Integrated with `@volcanicminds/backend`
|
|
34
43
|
|
|
35
|
-
|
|
44
|
+
This is the most straightforward way to use the library. The `executeFindQuery` function handles everything for you.
|
|
36
45
|
|
|
37
|
-
|
|
46
|
+
```typescript
|
|
47
|
+
// src/api/users/controller/user.ts
|
|
48
|
+
import { FastifyReply, FastifyRequest } from '@volcanicminds/backend'
|
|
49
|
+
import { executeFindQuery } from '@volcanicminds/typeorm'
|
|
38
50
|
|
|
39
|
-
|
|
40
|
-
//
|
|
51
|
+
export async function find(req: FastifyRequest, reply: FastifyReply) {
|
|
52
|
+
// req.data() automatically extracts query parameters
|
|
53
|
+
const { headers, records } = await executeFindQuery(
|
|
54
|
+
repository.users, // Your TypeORM repository
|
|
55
|
+
{ company: true }, // Optional relations to include
|
|
56
|
+
req.data()
|
|
57
|
+
)
|
|
41
58
|
|
|
42
|
-
|
|
59
|
+
return reply.type('application/json').headers(headers).send(records)
|
|
60
|
+
}
|
|
61
|
+
```
|
|
43
62
|
|
|
44
|
-
|
|
45
|
-
export class Player {
|
|
46
|
-
@PrimaryGeneratedColumn('uuid')
|
|
47
|
-
id: number
|
|
63
|
+
### Use Case 2: Standalone with Fastify/Express
|
|
48
64
|
|
|
49
|
-
|
|
50
|
-
@Column() // default: nullable false
|
|
51
|
-
name: string
|
|
65
|
+
You can use `applyQuery` directly in any project that uses TypeORM.
|
|
52
66
|
|
|
53
|
-
|
|
54
|
-
|
|
67
|
+
```typescript
|
|
68
|
+
// my-controller.ts
|
|
69
|
+
import { applyQuery } from '@volcanicminds/typeorm'
|
|
70
|
+
import { myUserRepository } from './repositories' // Your TypeORM repository instance
|
|
55
71
|
|
|
56
|
-
|
|
57
|
-
|
|
72
|
+
app.get('/users', async (req, reply) => {
|
|
73
|
+
// applyQuery translates the request query into a TypeORM query object
|
|
74
|
+
const typeOrmQuery = applyQuery(req.query, {}, myUserRepository)
|
|
58
75
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
76
|
+
const [records, total] = await myUserRepository.findAndCount(typeOrmQuery)
|
|
77
|
+
|
|
78
|
+
// You would then typically set pagination headers and return the records
|
|
79
|
+
reply.send({ data: records, total })
|
|
80
|
+
})
|
|
62
81
|
```
|
|
63
82
|
|
|
64
|
-
|
|
83
|
+
## Query String Guide
|
|
65
84
|
|
|
66
|
-
|
|
85
|
+
### Pagination
|
|
67
86
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
87
|
+
Use `page` and `pageSize` to control pagination.
|
|
88
|
+
|
|
89
|
+
- `page`: The page number to retrieve. Defaults to `1`.
|
|
90
|
+
- `pageSize`: The number of records per page. Defaults to `25`.
|
|
91
|
+
|
|
92
|
+
**Example**: `GET /users?page=2&pageSize=50`
|
|
93
|
+
|
|
94
|
+
### Sorting
|
|
95
|
+
|
|
96
|
+
Use the `sort` parameter to define the order of the results. You can specify multiple `sort` parameters for multi-field sorting.
|
|
97
|
+
|
|
98
|
+
- `sort=fieldName`: Sorts by `fieldName` in ascending order.
|
|
99
|
+
- `sort=fieldName:desc`: Sorts by `fieldName` in descending order.
|
|
100
|
+
|
|
101
|
+
**Example**: `GET /users?sort=lastName:asc&sort=createdAt:desc`
|
|
102
|
+
|
|
103
|
+
### Filtering
|
|
104
|
+
|
|
105
|
+
Filters are applied by using `fieldName:operator=value`. If no operator is specified, it defaults to a simple equality check.
|
|
106
|
+
|
|
107
|
+
#### Operators Table
|
|
108
|
+
|
|
109
|
+
| Operator | Description | Example URL | PostgreSQL | MongoDB |
|
|
110
|
+
| :----------- | :----------------------------------- | :-------------------------------------------- | :--------: | :-----: |
|
|
111
|
+
| `:eq` | Equals | `...&status:eq=active` | ✅ | ✅ |
|
|
112
|
+
| `:neq` | Not equals | `...&status:neq=archived` | ✅ | ✅ |
|
|
113
|
+
| `:gt`, `:ge` | Greater than / Greater than or equal | `...&visits:gt=100` | ✅ | ✅ |
|
|
114
|
+
| `:lt`, `:le` | Less than / Less than or equal | `...&price:lt=99.99` | ✅ | ✅ |
|
|
115
|
+
| `:in` | Included in an array (comma-sep.) | `...&status:in=active,pending` | ✅ | ✅ |
|
|
116
|
+
| `:nin` | Not included in an array | `...&category:nin=old,obsolete` | ✅ | ✅ |
|
|
117
|
+
| `:between` | Is between two values (colon-sep.) | `...&createdAt:between=2024-01-01:2024-12-31` | ✅ | ✅ |
|
|
118
|
+
| `:null` | Is null | `...&deletedAt:null=true` | ✅ | ✅ |
|
|
119
|
+
| `:notNull` | Is not null | `...&updatedAt:notNull=true` | ✅ | ✅ |
|
|
120
|
+
| `:contains` | Contains (case-sensitive) | `...&name:contains=Corp` | ✅ | ❌ |
|
|
121
|
+
| `:containsi` | Contains (case-insensitive) | `...&name:containsi=corp` | ✅ | ✅ |
|
|
122
|
+
| `:starts` | Starts with (case-sensitive) | `...&code:starts=INV-` | ✅ | ❌ |
|
|
123
|
+
| `:startsi` | Starts with (case-insensitive) | `...&code:startsi=inv-` | ✅ | ✅ |
|
|
124
|
+
| `:ends` | Ends with (case-sensitive) | `...&file:ends=.pdf` | ✅ | ❌ |
|
|
125
|
+
| `:endsi` | Ends with (case-insensitive) | `...&file:endsi=.pdf` | ✅ | ✅ |
|
|
126
|
+
| `:eqi` | Equals (case-insensitive) | `...&country:eqi=it` | ✅ | ✅ |
|
|
127
|
+
|
|
128
|
+
#### Nested Relation Filters
|
|
129
|
+
|
|
130
|
+
Use dot notation to filter on fields of related entities.
|
|
131
|
+
|
|
132
|
+
**Example**: Find all users belonging to the company named "Volcanic Minds".
|
|
133
|
+
`GET /users?company.name:eq=Volcanic Minds`
|
|
134
|
+
|
|
135
|
+
### Complex Boolean Logic with `_logic`
|
|
136
|
+
|
|
137
|
+
For complex queries involving `AND` and `OR` groups, use the `_logic` parameter. Conditions in the URL can be given short aliases to keep the `_logic` string concise.
|
|
138
|
+
|
|
139
|
+
**Syntax**: `fieldName:operator[alias]=value`
|
|
140
|
+
|
|
141
|
+
- The `[alias]` is optional. If omitted, the alias defaults to the full parameter key (e.g., `fieldName:operator`).
|
|
142
|
+
|
|
143
|
+
**Example 1: Simple OR**
|
|
144
|
+
|
|
145
|
+
- **Goal**: Find users whose first name is 'Mario' OR last name is 'Rossi'.
|
|
146
|
+
- **URL**: `?firstName:eq[fn]=Mario&lastName:eq[ln]=Rossi&_logic=(fn OR ln)`
|
|
147
|
+
|
|
148
|
+
**Example 2: Complex Nested Logic**
|
|
149
|
+
|
|
150
|
+
- **Goal**: Find active users from Italy OR pending users from Germany.
|
|
151
|
+
`(status:eq=active AND country:eq=IT) OR (status:eq=pending AND country:eq=DE)`
|
|
152
|
+
- **URL**:
|
|
153
|
+
`?status:eq[s1]=active&country:eq[c1]=IT&status:eq[s2]=pending&country:eq[c2]=DE&_logic=((s1 AND c1) OR (s2 AND c2))`
|
|
154
|
+
|
|
155
|
+
This powerful syntax allows for the construction of virtually any query structure directly from the URL.
|
|
156
|
+
|
|
157
|
+
## API Reference
|
|
158
|
+
|
|
159
|
+
- **`executeFindQuery(repo, relations, data, extraWhere, extraOptions)`**: The main high-level function. Handles a full find-and-count query, processes all parameters, and returns records and pagination headers.
|
|
160
|
+
- **`executeCountQuery(repo, data, extraWhere)`**: A utility to only count records based on filters.
|
|
161
|
+
- **`applyQuery(data, extraWhere, repo)`**: The core translation function. Takes the raw query parameters and returns a TypeORM-compatible query object.
|
|
162
|
+
- **`useWhere(where, repo)`**: Translates only the filter part of the query.
|
|
163
|
+
- **`useOrder(order)`**: Translates only the sorting part of the query.
|
|
164
|
+
|
|
165
|
+
## License
|
|
73
166
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
- **trace**: useful and useless messages, verbose mode
|
|
77
|
-
- **debug**: well, for debugging purposes.. you know what I mean
|
|
78
|
-
- **info**: minimal logs necessary for understand that everything is working fine
|
|
79
|
-
- **warn**: useful warnings if the environment is controlled
|
|
80
|
-
- **error**: print out errors even if not blocking/fatal errors
|
|
81
|
-
- **fatal**: ok you are dead now, but you want to know
|
|
82
|
-
|
|
83
|
-
## Query: Operators
|
|
84
|
-
|
|
85
|
-
It's possible use some operators:
|
|
86
|
-
|
|
87
|
-
| Operator | Description | Datatypes | Example |
|
|
88
|
-
| ---------- | ---------------------------------- | ------------- | -------------------- |
|
|
89
|
-
| null | Is null | all | field:null=true |
|
|
90
|
-
| notNull | Not is null | all | field:notNull=true |
|
|
91
|
-
| in | Included in an array | all | field:in=A,B,C |
|
|
92
|
-
| nin | Not included in an array | all | field:nin=A,B,C |
|
|
93
|
-
| gt | Greater than | numeric, date | field:gt=10 |
|
|
94
|
-
| ge | Greater than or equals to | numeric, date | field:ge=10 |
|
|
95
|
-
| lt | Less than | numeric, date | field:lt=10 |
|
|
96
|
-
| le | Less than or equals to | numeric, date | field:le=10 |
|
|
97
|
-
| between | Is between A and B | numeric, date | field:between=A,B |
|
|
98
|
-
| like | Like with wildcard % | text | field:like=va%ue |
|
|
99
|
-
| contains | Contains | text | field:contains=alu |
|
|
100
|
-
| ncontains | Not contains | text | field:ncontains=xyz |
|
|
101
|
-
| starts | Starts with | text | field:starts=val |
|
|
102
|
-
| ends | Ends with | text | field:ends=lue |
|
|
103
|
-
| eq | Equals to | all | field:eq=value |
|
|
104
|
-
| neq | Not equals to | all | field:neq=xyz |
|
|
105
|
-
| likei | Like with wildcard % (ignore-case) | text | field:likei=va%ue |
|
|
106
|
-
| containsi | Contains (ignore-case) | text | field:containsi=alu |
|
|
107
|
-
| ncontainsi | Not contains (ignore-case) | text | field:ncontainsi=xyz |
|
|
108
|
-
| startsi | Starts with (ignore-case) | text | field:startsi=val |
|
|
109
|
-
| endsi | Ends with (ignore-case) | text | field:endsi=lue |
|
|
110
|
-
| eqi | Equals to (ignore-case) | text | field:eqi=value |
|
|
111
|
-
| neqi | Not equals to (ignore-case) | text | field:neqi=xyz |
|
|
112
|
-
|
|
113
|
-
The expression `field=value` is equals to `field:eq=value`
|
|
114
|
-
|
|
115
|
-
**Pay attention**: Some datatypes, like UUID, are special types and have possibility to use only specific operator (for example: eq, null, notNull, ..)
|
|
116
|
-
|
|
117
|
-
## Logging
|
|
118
|
-
|
|
119
|
-
Use Pino logger if in your project you have a `global.log` with a valid instance.
|
|
167
|
+
This project is licensed under the MIT License.
|
package/dist/lib/query.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
export declare const useOrder: (order?: string[]) => {};
|
|
2
|
-
export declare const useWhere: (where: any, repo?: any) => {
|
|
2
|
+
export declare const useWhere: (where: any, repo?: any) => {
|
|
3
|
+
allConditions: {};
|
|
4
|
+
aliasMap: Map<string, any>;
|
|
5
|
+
};
|
|
3
6
|
export declare function applyQuery(data: any, extraWhere: any, repo: any): {
|
|
4
7
|
skip?: number;
|
|
5
8
|
take?: number;
|
|
6
9
|
order?: object;
|
|
7
|
-
where?: object;
|
|
10
|
+
where?: object | object[];
|
|
8
11
|
};
|
|
9
12
|
export declare function executeFindQuery(repo: any, relations?: any, data?: any, extraWhere?: any, extraOptions?: any): Promise<{
|
|
10
13
|
records: any;
|
package/dist/lib/query.js
CHANGED
|
@@ -45,8 +45,56 @@ const useOrder = (order = []) => {
|
|
|
45
45
|
return result;
|
|
46
46
|
};
|
|
47
47
|
exports.useOrder = useOrder;
|
|
48
|
+
const parseLogicExpression = (logic) => {
|
|
49
|
+
var _a;
|
|
50
|
+
const tokens = ((_a = logic.match(/\(|\)|[A-Za-z0-9_:]+|\s*(AND|OR)\s*/g)) === null || _a === void 0 ? void 0 : _a.filter((t) => t.trim())) || [];
|
|
51
|
+
let pos = 0;
|
|
52
|
+
const parseExpression = () => {
|
|
53
|
+
let left = parseTerm();
|
|
54
|
+
while (pos < tokens.length && (tokens[pos].trim() === 'OR' || tokens[pos].trim() === 'AND')) {
|
|
55
|
+
const operator = tokens[pos++].trim();
|
|
56
|
+
const right = parseTerm();
|
|
57
|
+
left = { type: operator, left, right };
|
|
58
|
+
}
|
|
59
|
+
return left;
|
|
60
|
+
};
|
|
61
|
+
const parseTerm = () => {
|
|
62
|
+
if (tokens[pos] === '(') {
|
|
63
|
+
pos++;
|
|
64
|
+
const node = parseExpression();
|
|
65
|
+
if (tokens[pos] !== ')') {
|
|
66
|
+
throw new Error('Mismatched parentheses in _logic expression');
|
|
67
|
+
}
|
|
68
|
+
pos++;
|
|
69
|
+
return node;
|
|
70
|
+
}
|
|
71
|
+
return { type: 'operand', value: tokens[pos++] };
|
|
72
|
+
};
|
|
73
|
+
return parseExpression();
|
|
74
|
+
};
|
|
75
|
+
const buildWhereFromAst = (ast, aliasMap) => {
|
|
76
|
+
if (!ast)
|
|
77
|
+
return {};
|
|
78
|
+
if (ast.type === 'operand') {
|
|
79
|
+
if (!aliasMap.has(ast.value)) {
|
|
80
|
+
throw new Error(`Alias "${ast.value}" used in _logic not found in query parameters.`);
|
|
81
|
+
}
|
|
82
|
+
return aliasMap.get(ast.value);
|
|
83
|
+
}
|
|
84
|
+
if (ast.type === 'AND') {
|
|
85
|
+
const left = buildWhereFromAst(ast.left, aliasMap);
|
|
86
|
+
const right = buildWhereFromAst(ast.right, aliasMap);
|
|
87
|
+
return Object.assign(Object.assign({}, left), right);
|
|
88
|
+
}
|
|
89
|
+
if (ast.type === 'OR') {
|
|
90
|
+
const left = buildWhereFromAst(ast.left, aliasMap);
|
|
91
|
+
const right = buildWhereFromAst(ast.right, aliasMap);
|
|
92
|
+
return [left, right].flat();
|
|
93
|
+
}
|
|
94
|
+
return {};
|
|
95
|
+
};
|
|
48
96
|
const useWhere = (where, repo) => {
|
|
49
|
-
const
|
|
97
|
+
const aliasMap = new Map();
|
|
50
98
|
const isTargetMongo = isMongo(repo);
|
|
51
99
|
const val = (v) => v || 'notFound';
|
|
52
100
|
const reservedOperators = {
|
|
@@ -79,27 +127,42 @@ const useWhere = (where, repo) => {
|
|
|
79
127
|
}
|
|
80
128
|
};
|
|
81
129
|
const reservedWords = Object.keys(reservedOperators).join('|');
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
130
|
+
const aliasRegex = /\[([^\]]+)\]$/;
|
|
131
|
+
const allConditions = {};
|
|
132
|
+
for (const rawKey in where) {
|
|
133
|
+
let alias = '';
|
|
134
|
+
let key = rawKey;
|
|
135
|
+
const aliasMatch = rawKey.match(aliasRegex);
|
|
136
|
+
if (aliasMatch) {
|
|
137
|
+
alias = aliasMatch[1];
|
|
138
|
+
key = rawKey.replace(aliasRegex, '');
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
alias = key;
|
|
142
|
+
}
|
|
143
|
+
const m = key.match(new RegExp(`(${reservedWords})\\b`, 'ig'));
|
|
144
|
+
const operator = (m === null || m === void 0 ? void 0 : m.length) ? m[0] : ':eq';
|
|
145
|
+
const fullPath = key.replace(operator, '');
|
|
146
|
+
const parts = fullPath.split('.');
|
|
147
|
+
let value = where[rawKey];
|
|
148
|
+
if (operator && reservedOperators[operator]) {
|
|
149
|
+
value = reservedOperators[operator](value);
|
|
150
|
+
}
|
|
151
|
+
let condition = {};
|
|
152
|
+
let target = condition;
|
|
85
153
|
while (parts.length > 1) {
|
|
86
154
|
const part = parts.shift() || '';
|
|
87
155
|
target = target[part] = target[part] || {};
|
|
88
156
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
let value = where[objectPath];
|
|
93
|
-
if (operator) {
|
|
94
|
-
value = reservedOperators[operator](value);
|
|
95
|
-
}
|
|
96
|
-
target[fieldName] = value;
|
|
157
|
+
target[parts[0]] = value;
|
|
158
|
+
aliasMap.set(alias, condition);
|
|
159
|
+
Object.assign(allConditions, condition);
|
|
97
160
|
}
|
|
98
|
-
return
|
|
161
|
+
return { allConditions, aliasMap };
|
|
99
162
|
};
|
|
100
163
|
exports.useWhere = useWhere;
|
|
101
164
|
function applyQuery(data, extraWhere, repo) {
|
|
102
|
-
const { page: p = 1, pageSize = 25, skip: sk = 0, take: tk = 0, sort: s } = data, where = __rest(data, ["page", "pageSize", "skip", "take", "sort"]);
|
|
165
|
+
const { page: p = 1, pageSize = 25, skip: sk = 0, take: tk = 0, sort: s, _logic } = data, where = __rest(data, ["page", "pageSize", "skip", "take", "sort", "_logic"]);
|
|
103
166
|
const page = (p < 1 ? 1 : p) - 1;
|
|
104
167
|
const take = tk || pageSize;
|
|
105
168
|
const skip = sk || page * pageSize;
|
|
@@ -111,13 +174,34 @@ function applyQuery(data, extraWhere, repo) {
|
|
|
111
174
|
query.take = take;
|
|
112
175
|
if (order)
|
|
113
176
|
query.order = (0, exports.useOrder)(order);
|
|
114
|
-
|
|
115
|
-
|
|
177
|
+
const { allConditions, aliasMap } = (0, exports.useWhere)(where, repo);
|
|
178
|
+
if (_logic) {
|
|
179
|
+
try {
|
|
180
|
+
const ast = parseLogicExpression(_logic);
|
|
181
|
+
query.where = buildWhereFromAst(ast, aliasMap);
|
|
182
|
+
}
|
|
183
|
+
catch (e) {
|
|
184
|
+
console.error('Volcanic-TypeORM: Error parsing _logic parameter.', e);
|
|
185
|
+
query.where = allConditions;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
query.where = allConditions;
|
|
190
|
+
}
|
|
116
191
|
let extra;
|
|
117
192
|
if (extraWhere) {
|
|
118
|
-
extra = Array.isArray(extraWhere)
|
|
193
|
+
extra = Array.isArray(extraWhere)
|
|
194
|
+
? extraWhere.map((w) => (0, exports.useWhere)(w, repo).allConditions)
|
|
195
|
+
: (0, exports.useWhere)(extraWhere, repo).allConditions;
|
|
196
|
+
}
|
|
197
|
+
if (extra) {
|
|
198
|
+
if (Array.isArray(query.where)) {
|
|
199
|
+
query.where = query.where.map((w) => (Array.isArray(extra) ? [...extra, w] : Object.assign(Object.assign({}, extra), w)));
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
query.where = Array.isArray(extra) ? extra.map((w) => (Object.assign(Object.assign({}, w), query.where))) : Object.assign(Object.assign({}, extra), query.where);
|
|
203
|
+
}
|
|
119
204
|
}
|
|
120
|
-
query.where = Array.isArray(extra) ? extra.map((w) => (Object.assign(Object.assign({}, w), query.where))) : Object.assign(Object.assign({}, extra), query.where);
|
|
121
205
|
return query;
|
|
122
206
|
}
|
|
123
207
|
function executeFindQuery(repo_1) {
|
package/dist/lib/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../lib/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../lib/query.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA2KA,gCAgDC;AAED,4CAyBC;AAED,8CAGC;AA3PD,qCAagB;AAEhB,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAE3G,MAAM,QAAQ,GAAG,CAAC,QAAkB,EAAE,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,KAAK;SACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAClB,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1B,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAEpC,IAAI,MAAM,GAAG,MAAM,CAAA;QACnB,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,SAAS,GAAW,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;YACrD,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QACtD,CAAC;QAED,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;QAElC,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEJ,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AArBY,QAAA,QAAQ,YAqBpB;AAED,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAE,EAAE;;IAC7C,MAAM,MAAM,GAAG,CAAA,MAAA,KAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI,EAAE,CAAA;IACjG,IAAI,GAAG,GAAG,CAAC,CAAA;IAEX,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,IAAI,GAAG,SAAS,EAAE,CAAA;QACtB,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;YAC5F,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YACrC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;YACzB,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;YACxB,GAAG,EAAE,CAAA;YACL,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;YAC9B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAChE,CAAC;YACD,GAAG,EAAE,CAAA;YACL,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAA;IAClD,CAAC,CAAA;IAED,OAAO,eAAe,EAAE,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,GAAQ,EAAE,QAA0B,EAAE,EAAE;IACjE,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IACnB,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,KAAK,iDAAiD,CAAC,CAAA;QACvF,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACpD,uCAAY,IAAI,GAAK,KAAK,EAAE;IAC9B,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACpD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7B,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAE,IAAU,EAAE,EAAE;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAA;IACvC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,UAAU,CAAA;IAElC,MAAM,iBAAiB,GAAG;QACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAA,aAAG,EAAC,IAAA,gBAAM,GAAE,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC;QACzD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAA,aAAG,EAAC,IAAA,gBAAM,GAAE,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC;QAC3D,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,aAAG,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9C,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,YAAE,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,aAAG,EAAC,IAAA,YAAE,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjF,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrF,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAA,aAAG,EAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChG,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxF,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtF,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,CAAC,CAAC,CAAC;QAC1E,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAA,aAAG,EAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,CAAC,CAAC,CAAC,CAAC;QACrF,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAI,EAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAI,EAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACvC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,aAAG,EAAC,IAAA,cAAI,EAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAI,EAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACpC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAI,EAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,CAAC,CAAC,CAAC;QAC5B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kBAAQ,EAAC,CAAC,CAAC;QACzB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,yBAAe,EAAC,CAAC,CAAC;QAChC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kBAAQ,EAAC,CAAC,CAAC;QACzB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,yBAAe,EAAC,CAAC,CAAC;QAChC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;YAChB,MAAM,CAAC,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC,GAAG,CAAC,CAAA;YACvB,OAAO,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,KAAI,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAO,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC;KACF,CAAA;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9D,MAAM,UAAU,GAAG,eAAe,CAAA;IAElC,MAAM,aAAa,GAAG,EAAE,CAAA;IAExB,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC3B,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,IAAI,GAAG,GAAG,MAAM,CAAA;QAEhB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC3C,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;YACrB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QACtC,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,GAAG,CAAA;QACb,CAAC;QAED,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,aAAa,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;QAEzB,IAAI,QAAQ,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,SAAS,GAAG,EAAE,CAAA;QAClB,IAAI,MAAM,GAAG,SAAS,CAAA;QACtB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAW,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;YACxC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAC5C,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;QAExB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QAC9B,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;AACpC,CAAC,CAAA;AA3EY,QAAA,QAAQ,YA2EpB;AAED,SAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI;IAC/C,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,KAAe,IAAI,EAAd,KAAK,UAAK,IAAI,EAA5F,sDAAqF,CAAO,CAAA;IAClG,MAAM,IAAI,GAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACxC,MAAM,IAAI,GAAW,EAAE,IAAI,QAAQ,CAAA;IACnC,MAAM,IAAI,GAAW,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAA;IAC1C,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnD,MAAM,KAAK,GAAG,EAKb,CAAA;IAED,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IAC3B,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IAC3B,IAAI,KAAK;QAAE,KAAK,CAAC,KAAK,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAExC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAA,gBAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAEzD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;YACxC,KAAK,CAAC,KAAK,GAAG,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,CAAC,CAAC,CAAA;YACrE,KAAK,CAAC,KAAK,GAAG,aAAa,CAAA;QAC7B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,KAAK,GAAG,aAAa,CAAA;IAC7B,CAAC;IAED,IAAI,KAAU,CAAA;IACd,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAC/B,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,aAAa,CAAC;YACxD,CAAC,CAAC,IAAA,gBAAQ,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC,aAAa,CAAA;IAC9C,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,iCAAM,KAAK,GAAK,CAAC,CAAE,CAAC,CAAC,CAAA;QACnG,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAM,CAAC,GAAK,KAAK,CAAC,KAAK,EAAG,CAAC,CAAC,CAAC,iCAAM,KAAK,GAAK,KAAK,CAAC,KAAK,CAAE,CAAA;QAClH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAsB,gBAAgB;yDACpC,IAAS,EACT,YAAiB,EAAE,EACnB,OAAY,EAAE,EACd,aAAkB,EAAE,EACpB,eAAoB,EAAE;QAEtB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;QAEhD,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,+BACxD,SAAS,EAAE,SAAS,IACjB,KAAK,GACL,YAAY,EACf,CAAA;QAEF,OAAO;YACL,OAAO;YACP,OAAO,EAAE;gBACP,SAAS,EAAE,OAAO,CAAC,MAAM;gBACzB,SAAS,EAAE,UAAU;gBACrB,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;gBACxB,YAAY,EAAE,KAAK,CAAC,IAAI;gBACxB,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACnE;SACF,CAAA;IACH,CAAC;CAAA;AAED,SAAsB,iBAAiB;yDAAC,IAAS,EAAE,IAAI,GAAG,EAAE,EAAE,aAAkB,EAAE;QAChF,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;QACzD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IACnE,CAAC;CAAA;AAED,SAAS,OAAO,CAAC,IAAI;;IACnB,OAAO,CAAA,MAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,UAAU,0CAAE,OAAO,0CAAE,IAAI,KAAI,IAAI,CAAA;AACzD,CAAC;AAED,SAAS,OAAO,CAAC,IAAI;IACnB,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,CAAA;AACpC,CAAC"}
|
package/esm/lib/query.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
export declare const useOrder: (order?: string[]) => {};
|
|
2
|
-
export declare const useWhere: (where: any, repo?: any) => {
|
|
2
|
+
export declare const useWhere: (where: any, repo?: any) => {
|
|
3
|
+
allConditions: {};
|
|
4
|
+
aliasMap: Map<string, any>;
|
|
5
|
+
};
|
|
3
6
|
export declare function applyQuery(data: any, extraWhere: any, repo: any): {
|
|
4
7
|
skip?: number;
|
|
5
8
|
take?: number;
|
|
6
9
|
order?: object;
|
|
7
|
-
where?: object;
|
|
10
|
+
where?: object | object[];
|
|
8
11
|
};
|
|
9
12
|
export declare function executeFindQuery(repo: any, relations?: any, data?: any, extraWhere?: any, extraOptions?: any): Promise<{
|
|
10
13
|
records: any;
|
package/esm/lib/query.js
CHANGED
|
@@ -25,8 +25,56 @@ const useOrder = (order = []) => {
|
|
|
25
25
|
return result;
|
|
26
26
|
};
|
|
27
27
|
exports.useOrder = useOrder;
|
|
28
|
+
const parseLogicExpression = (logic) => {
|
|
29
|
+
var _a;
|
|
30
|
+
const tokens = ((_a = logic.match(/\(|\)|[A-Za-z0-9_:]+|\s*(AND|OR)\s*/g)) === null || _a === void 0 ? void 0 : _a.filter((t) => t.trim())) || [];
|
|
31
|
+
let pos = 0;
|
|
32
|
+
const parseExpression = () => {
|
|
33
|
+
let left = parseTerm();
|
|
34
|
+
while (pos < tokens.length && (tokens[pos].trim() === 'OR' || tokens[pos].trim() === 'AND')) {
|
|
35
|
+
const operator = tokens[pos++].trim();
|
|
36
|
+
const right = parseTerm();
|
|
37
|
+
left = { type: operator, left, right };
|
|
38
|
+
}
|
|
39
|
+
return left;
|
|
40
|
+
};
|
|
41
|
+
const parseTerm = () => {
|
|
42
|
+
if (tokens[pos] === '(') {
|
|
43
|
+
pos++;
|
|
44
|
+
const node = parseExpression();
|
|
45
|
+
if (tokens[pos] !== ')') {
|
|
46
|
+
throw new Error('Mismatched parentheses in _logic expression');
|
|
47
|
+
}
|
|
48
|
+
pos++;
|
|
49
|
+
return node;
|
|
50
|
+
}
|
|
51
|
+
return { type: 'operand', value: tokens[pos++] };
|
|
52
|
+
};
|
|
53
|
+
return parseExpression();
|
|
54
|
+
};
|
|
55
|
+
const buildWhereFromAst = (ast, aliasMap) => {
|
|
56
|
+
if (!ast)
|
|
57
|
+
return {};
|
|
58
|
+
if (ast.type === 'operand') {
|
|
59
|
+
if (!aliasMap.has(ast.value)) {
|
|
60
|
+
throw new Error(`Alias "${ast.value}" used in _logic not found in query parameters.`);
|
|
61
|
+
}
|
|
62
|
+
return aliasMap.get(ast.value);
|
|
63
|
+
}
|
|
64
|
+
if (ast.type === 'AND') {
|
|
65
|
+
const left = buildWhereFromAst(ast.left, aliasMap);
|
|
66
|
+
const right = buildWhereFromAst(ast.right, aliasMap);
|
|
67
|
+
return { ...left, ...right };
|
|
68
|
+
}
|
|
69
|
+
if (ast.type === 'OR') {
|
|
70
|
+
const left = buildWhereFromAst(ast.left, aliasMap);
|
|
71
|
+
const right = buildWhereFromAst(ast.right, aliasMap);
|
|
72
|
+
return [left, right].flat();
|
|
73
|
+
}
|
|
74
|
+
return {};
|
|
75
|
+
};
|
|
28
76
|
const useWhere = (where, repo) => {
|
|
29
|
-
const
|
|
77
|
+
const aliasMap = new Map();
|
|
30
78
|
const isTargetMongo = isMongo(repo);
|
|
31
79
|
const val = (v) => v || 'notFound';
|
|
32
80
|
const reservedOperators = {
|
|
@@ -59,27 +107,42 @@ const useWhere = (where, repo) => {
|
|
|
59
107
|
}
|
|
60
108
|
};
|
|
61
109
|
const reservedWords = Object.keys(reservedOperators).join('|');
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
110
|
+
const aliasRegex = /\[([^\]]+)\]$/;
|
|
111
|
+
const allConditions = {};
|
|
112
|
+
for (const rawKey in where) {
|
|
113
|
+
let alias = '';
|
|
114
|
+
let key = rawKey;
|
|
115
|
+
const aliasMatch = rawKey.match(aliasRegex);
|
|
116
|
+
if (aliasMatch) {
|
|
117
|
+
alias = aliasMatch[1];
|
|
118
|
+
key = rawKey.replace(aliasRegex, '');
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
alias = key;
|
|
122
|
+
}
|
|
123
|
+
const m = key.match(new RegExp(`(${reservedWords})\\b`, 'ig'));
|
|
124
|
+
const operator = (m === null || m === void 0 ? void 0 : m.length) ? m[0] : ':eq';
|
|
125
|
+
const fullPath = key.replace(operator, '');
|
|
126
|
+
const parts = fullPath.split('.');
|
|
127
|
+
let value = where[rawKey];
|
|
128
|
+
if (operator && reservedOperators[operator]) {
|
|
129
|
+
value = reservedOperators[operator](value);
|
|
130
|
+
}
|
|
131
|
+
let condition = {};
|
|
132
|
+
let target = condition;
|
|
65
133
|
while (parts.length > 1) {
|
|
66
134
|
const part = parts.shift() || '';
|
|
67
135
|
target = target[part] = target[part] || {};
|
|
68
136
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
let value = where[objectPath];
|
|
73
|
-
if (operator) {
|
|
74
|
-
value = reservedOperators[operator](value);
|
|
75
|
-
}
|
|
76
|
-
target[fieldName] = value;
|
|
137
|
+
target[parts[0]] = value;
|
|
138
|
+
aliasMap.set(alias, condition);
|
|
139
|
+
Object.assign(allConditions, condition);
|
|
77
140
|
}
|
|
78
|
-
return
|
|
141
|
+
return { allConditions, aliasMap };
|
|
79
142
|
};
|
|
80
143
|
exports.useWhere = useWhere;
|
|
81
144
|
function applyQuery(data, extraWhere, repo) {
|
|
82
|
-
const { page: p = 1, pageSize = 25, skip: sk = 0, take: tk = 0, sort: s, ...where } = data;
|
|
145
|
+
const { page: p = 1, pageSize = 25, skip: sk = 0, take: tk = 0, sort: s, _logic, ...where } = data;
|
|
83
146
|
const page = (p < 1 ? 1 : p) - 1;
|
|
84
147
|
const take = tk || pageSize;
|
|
85
148
|
const skip = sk || page * pageSize;
|
|
@@ -91,13 +154,34 @@ function applyQuery(data, extraWhere, repo) {
|
|
|
91
154
|
query.take = take;
|
|
92
155
|
if (order)
|
|
93
156
|
query.order = (0, exports.useOrder)(order);
|
|
94
|
-
|
|
95
|
-
|
|
157
|
+
const { allConditions, aliasMap } = (0, exports.useWhere)(where, repo);
|
|
158
|
+
if (_logic) {
|
|
159
|
+
try {
|
|
160
|
+
const ast = parseLogicExpression(_logic);
|
|
161
|
+
query.where = buildWhereFromAst(ast, aliasMap);
|
|
162
|
+
}
|
|
163
|
+
catch (e) {
|
|
164
|
+
console.error('Volcanic-TypeORM: Error parsing _logic parameter.', e);
|
|
165
|
+
query.where = allConditions;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
query.where = allConditions;
|
|
170
|
+
}
|
|
96
171
|
let extra;
|
|
97
172
|
if (extraWhere) {
|
|
98
|
-
extra = Array.isArray(extraWhere)
|
|
173
|
+
extra = Array.isArray(extraWhere)
|
|
174
|
+
? extraWhere.map((w) => (0, exports.useWhere)(w, repo).allConditions)
|
|
175
|
+
: (0, exports.useWhere)(extraWhere, repo).allConditions;
|
|
176
|
+
}
|
|
177
|
+
if (extra) {
|
|
178
|
+
if (Array.isArray(query.where)) {
|
|
179
|
+
query.where = query.where.map((w) => (Array.isArray(extra) ? [...extra, w] : { ...extra, ...w }));
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
query.where = Array.isArray(extra) ? extra.map((w) => ({ ...w, ...query.where })) : { ...extra, ...query.where };
|
|
183
|
+
}
|
|
99
184
|
}
|
|
100
|
-
query.where = Array.isArray(extra) ? extra.map((w) => ({ ...w, ...query.where })) : { ...extra, ...query.where };
|
|
101
185
|
return query;
|
|
102
186
|
}
|
|
103
187
|
async function executeFindQuery(repo, relations = {}, data = {}, extraWhere = {}, extraOptions = {}) {
|
package/esm/lib/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../lib/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../lib/query.ts"],"names":[],"mappings":"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"}
|