@eggjs/dal-runtime 4.0.0-beta.34 → 4.0.0-beta.36

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.
@@ -1,10 +1,14 @@
1
- import { type BaseDaoType, TableModel } from '@eggjs/dal-decorator';
2
- import type { Logger } from '@eggjs/tegg-types';
3
- import { TableSqlMap } from './TableSqlMap.ts';
4
- export declare class SqlMapLoader {
5
- private readonly logger;
6
- private readonly tableModel;
7
- private readonly clazzExtension;
8
- constructor(tableModel: TableModel, baseDaoClazz: BaseDaoType, logger: Logger);
9
- load(): TableSqlMap;
1
+ import { TableSqlMap } from "./TableSqlMap.js";
2
+ import { BaseDaoType, TableModel } from "@eggjs/dal-decorator";
3
+ import { Logger } from "@eggjs/tegg-types";
4
+
5
+ //#region src/SqlMapLoader.d.ts
6
+ declare class SqlMapLoader {
7
+ private readonly logger;
8
+ private readonly tableModel;
9
+ private readonly clazzExtension;
10
+ constructor(tableModel: TableModel, baseDaoClazz: BaseDaoType, logger: Logger);
11
+ load(): TableSqlMap;
10
12
  }
13
+ //#endregion
14
+ export { SqlMapLoader };
@@ -1,23 +1,25 @@
1
- import { TableModel } from '@eggjs/dal-decorator';
2
1
  import { BaseSqlMapGenerator } from "./BaseSqlMap.js";
3
2
  import { TableSqlMap } from "./TableSqlMap.js";
4
- export class SqlMapLoader {
5
- logger;
6
- tableModel;
7
- clazzExtension;
8
- constructor(tableModel, baseDaoClazz, logger) {
9
- this.clazzExtension = baseDaoClazz.clazzExtension;
10
- this.logger = logger;
11
- this.tableModel = tableModel;
12
- }
13
- load() {
14
- const baseSqlMapGenerator = new BaseSqlMapGenerator(this.tableModel, this.logger);
15
- const baseSqlMap = baseSqlMapGenerator.load();
16
- const sqlMap = {
17
- ...baseSqlMap,
18
- ...this.clazzExtension,
19
- };
20
- return new TableSqlMap(this.tableModel.clazz.name, sqlMap);
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsTWFwTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NxbE1hcExvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxNQUFNLE9BQU8sWUFBWTtJQUNOLE1BQU0sQ0FBUztJQUNmLFVBQVUsQ0FBYTtJQUN2QixjQUFjLENBQXlCO0lBRXhELFlBQVksVUFBc0IsRUFBRSxZQUF5QixFQUFFLE1BQWM7UUFDM0UsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUMsY0FBYyxDQUFDO1FBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJO1FBQ0YsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sVUFBVSxHQUFHLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlDLE1BQU0sTUFBTSxHQUFHO1lBQ2IsR0FBRyxVQUFVO1lBQ2IsR0FBRyxJQUFJLENBQUMsY0FBYztTQUN2QixDQUFDO1FBQ0YsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGIn0=
3
+ import { TableModel } from "@eggjs/dal-decorator";
4
+
5
+ //#region src/SqlMapLoader.ts
6
+ var SqlMapLoader = class {
7
+ logger;
8
+ tableModel;
9
+ clazzExtension;
10
+ constructor(tableModel, baseDaoClazz, logger) {
11
+ this.clazzExtension = baseDaoClazz.clazzExtension;
12
+ this.logger = logger;
13
+ this.tableModel = tableModel;
14
+ }
15
+ load() {
16
+ const sqlMap = {
17
+ ...new BaseSqlMapGenerator(this.tableModel, this.logger).load(),
18
+ ...this.clazzExtension
19
+ };
20
+ return new TableSqlMap(this.tableModel.clazz.name, sqlMap);
21
+ }
22
+ };
23
+
24
+ //#endregion
25
+ export { SqlMapLoader };
package/dist/SqlUtil.d.ts CHANGED
@@ -1,3 +1,6 @@
1
- export declare class SqlUtil {
2
- static minify(sql: string): string;
1
+ //#region src/SqlUtil.d.ts
2
+ declare class SqlUtil {
3
+ static minify(sql: string): string;
3
4
  }
5
+ //#endregion
6
+ export { SqlUtil };
package/dist/SqlUtil.js CHANGED
@@ -1,222 +1,193 @@
1
+ //#region src/SqlUtil.ts
1
2
  function isWhiteChar(ch) {
2
- return ch === ' ' || ch === '\n' || ch === '\r' || ch === '\t';
3
+ return ch === " " || ch === "\n" || ch === "\r" || ch === " ";
3
4
  }
4
- const COMMENT_CHARS = '-#/';
5
+ const COMMENT_CHARS = "-#/";
5
6
  const MUL_CHAR_LEADING_COMMENT_FIRST_CHAR = {
6
- MAY_BE_FIRST_COMMENT: '-',
7
- MAY_BE_FIRST_BLOCK_COMMENT: '/',
7
+ MAY_BE_FIRST_COMMENT: "-",
8
+ MAY_BE_FIRST_BLOCK_COMMENT: "/"
8
9
  };
9
10
  const MUL_CHAR_LEADING_COMMENT_VERIFIER = {
10
- MAY_BE_FIRST_COMMENT: '-',
11
- MAY_BE_FIRST_BLOCK_COMMENT: '*',
11
+ MAY_BE_FIRST_COMMENT: "-",
12
+ MAY_BE_FIRST_BLOCK_COMMENT: "*"
12
13
  };
13
14
  const MUL_CHAR_LEADING_COMMENT_NEXT_STATE = {
14
- MAY_BE_FIRST_COMMENT: 'IN_COMMENT_WAIT_HINT',
15
- MAY_BE_FIRST_BLOCK_COMMENT: 'IN_BLOCK_COMMENT_WAIT_HINT',
15
+ MAY_BE_FIRST_COMMENT: "IN_COMMENT_WAIT_HINT",
16
+ MAY_BE_FIRST_BLOCK_COMMENT: "IN_BLOCK_COMMENT_WAIT_HINT"
16
17
  };
17
- export class SqlUtil {
18
- static minify(sql) {
19
- let ret = '';
20
- let state = 'START';
21
- let tempNextState;
22
- for (let i = 0; i < sql.length; i++) {
23
- const ch = sql[i];
24
- switch (state) {
25
- case 'MAY_BE_FIRST_COMMENT':
26
- case 'MAY_BE_FIRST_BLOCK_COMMENT':
27
- switch (ch) {
28
- case '"':
29
- tempNextState = 'DOUBLE_QUOTE';
30
- break;
31
- case "'":
32
- tempNextState = 'SINGLE_QUOTE';
33
- break;
34
- case MUL_CHAR_LEADING_COMMENT_VERIFIER[state]:
35
- tempNextState = MUL_CHAR_LEADING_COMMENT_NEXT_STATE[state];
36
- break;
37
- default:
38
- tempNextState = 'CONTENT';
39
- break;
40
- }
41
- if (ch !== MUL_CHAR_LEADING_COMMENT_VERIFIER[state]) {
42
- ret += `${MUL_CHAR_LEADING_COMMENT_FIRST_CHAR[state]}${ch}`;
43
- }
44
- state = tempNextState;
45
- break;
46
- case 'IN_COMMENT_WAIT_HINT':
47
- if (ch !== '+') {
48
- state = 'IN_COMMENT';
49
- }
50
- else {
51
- state = 'IN_COMMENT_HINT';
52
- ret += '--+';
53
- }
54
- break;
55
- case 'IN_BLOCK_COMMENT_WAIT_HINT':
56
- if (ch !== '+') {
57
- state = 'IN_BLOCK_COMMENT';
58
- }
59
- else {
60
- state = 'IN_BLOCK_COMMENT_HINT';
61
- ret += '/*+';
62
- }
63
- break;
64
- case 'MAY_BE_LAST_BLOCK_COMMENT':
65
- if (ch === '/') {
66
- if (ret && !isWhiteChar(ret[ret.length - 1]))
67
- ret += ' ';
68
- state = 'IN_SPACE';
69
- }
70
- else {
71
- state = 'IN_BLOCK_COMMENT';
72
- }
73
- break;
74
- case 'MAY_BE_LAST_BLOCK_COMMENT_HINT':
75
- ret += ch;
76
- if (ch === '/') {
77
- state = 'IN_SPACE';
78
- if (isWhiteChar(sql[i + 1]))
79
- ret += sql[i + 1];
80
- }
81
- else {
82
- state = 'IN_BLOCK_COMMENT_HINT';
83
- }
84
- break;
85
- case 'IN_COMMENT':
86
- if (ch === '\n' || ch === '\r') {
87
- if (ret && !isWhiteChar(ret[ret.length - 1]))
88
- ret += ' ';
89
- state = 'IN_SPACE';
90
- }
91
- break;
92
- case 'IN_COMMENT_HINT':
93
- ret += ch;
94
- if (ch === '\n' || ch === '\r') {
95
- state = 'IN_SPACE';
96
- }
97
- break;
98
- case 'IN_BLOCK_COMMENT':
99
- if (ch === '*') {
100
- state = 'MAY_BE_LAST_BLOCK_COMMENT';
101
- }
102
- break;
103
- case 'IN_BLOCK_COMMENT_HINT':
104
- ret += ch;
105
- if (ch === '*') {
106
- state = 'MAY_BE_LAST_BLOCK_COMMENT_HINT';
107
- }
108
- break;
109
- case 'START':
110
- if (isWhiteChar(ch))
111
- continue;
112
- switch (ch) {
113
- case '"':
114
- state = 'DOUBLE_QUOTE';
115
- break;
116
- case "'":
117
- state = 'SINGLE_QUOTE';
118
- break;
119
- case '-':
120
- state = 'MAY_BE_FIRST_COMMENT';
121
- break;
122
- case '#':
123
- state = 'IN_COMMENT';
124
- break;
125
- case '/':
126
- state = 'MAY_BE_FIRST_BLOCK_COMMENT';
127
- break;
128
- default:
129
- state = 'CONTENT';
130
- break;
131
- }
132
- if (!COMMENT_CHARS.includes(ch))
133
- ret += ch;
134
- break;
135
- case 'DOUBLE_QUOTE':
136
- case 'SINGLE_QUOTE':
137
- switch (ch) {
138
- case '\\':
139
- state = `BACKSLASH_AFTER_${state}`;
140
- break;
141
- case "'":
142
- if (state === 'SINGLE_QUOTE') {
143
- state = 'QUOTE_DONE';
144
- }
145
- break;
146
- case '"':
147
- if (state === 'DOUBLE_QUOTE') {
148
- state = 'QUOTE_DONE';
149
- }
150
- break;
151
- default:
152
- break;
153
- }
154
- ret += ch;
155
- break;
156
- case 'BACKSLASH_AFTER_SINGLE_QUOTE':
157
- case 'BACKSLASH_AFTER_DOUBLE_QUOTE':
158
- ret += ch;
159
- state = state.substr(16);
160
- break;
161
- case 'QUOTE_DONE':
162
- case 'CONTENT':
163
- switch (ch) {
164
- case "'":
165
- state = 'SINGLE_QUOTE';
166
- break;
167
- case '"':
168
- state = 'DOUBLE_QUOTE';
169
- break;
170
- case '-':
171
- state = 'MAY_BE_FIRST_COMMENT';
172
- break;
173
- case '#':
174
- state = 'IN_COMMENT';
175
- break;
176
- case '/':
177
- state = 'MAY_BE_FIRST_BLOCK_COMMENT';
178
- break;
179
- default:
180
- if (isWhiteChar(ch)) {
181
- state = 'IN_SPACE';
182
- ret += ' ';
183
- continue;
184
- }
185
- state = 'CONTENT';
186
- }
187
- if (!COMMENT_CHARS.includes(ch))
188
- ret += ch;
189
- break;
190
- case 'IN_SPACE':
191
- switch (ch) {
192
- case "'":
193
- state = 'SINGLE_QUOTE';
194
- break;
195
- case '"':
196
- state = 'DOUBLE_QUOTE';
197
- break;
198
- case '-':
199
- state = 'MAY_BE_FIRST_COMMENT';
200
- break;
201
- case '#':
202
- state = 'IN_COMMENT';
203
- break;
204
- case '/':
205
- state = 'MAY_BE_FIRST_BLOCK_COMMENT';
206
- break;
207
- default:
208
- if (isWhiteChar(ch))
209
- continue;
210
- state = 'CONTENT';
211
- }
212
- if (!COMMENT_CHARS.includes(ch))
213
- ret += ch;
214
- break;
215
- default:
216
- throw new Error('Unexpected state machine while minifying SQL.');
217
- }
218
- }
219
- return ret.trim();
220
- }
221
- }
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TcWxVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsV0FBVyxDQUFDLEVBQVU7SUFDN0IsT0FBTyxFQUFFLEtBQUssR0FBRyxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDO0FBQ2pFLENBQUM7QUFFRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUM7QUFDNUIsTUFBTSxtQ0FBbUMsR0FBRztJQUMxQyxvQkFBb0IsRUFBRSxHQUFHO0lBQ3pCLDBCQUEwQixFQUFFLEdBQUc7Q0FDaEMsQ0FBQztBQUNGLE1BQU0saUNBQWlDLEdBQUc7SUFDeEMsb0JBQW9CLEVBQUUsR0FBRztJQUN6QiwwQkFBMEIsRUFBRSxHQUFHO0NBQ2hDLENBQUM7QUFDRixNQUFNLG1DQUFtQyxHQUFHO0lBQzFDLG9CQUFvQixFQUFFLHNCQUFzQjtJQUM1QywwQkFBMEIsRUFBRSw0QkFBNEI7Q0FDekQsQ0FBQztBQUVGLE1BQU0sT0FBTyxPQUFPO0lBQ2xCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBVztRQUN2QixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFFYixJQUFJLEtBQUssR0FBRyxPQUFPLENBQUM7UUFDcEIsSUFBSSxhQUFhLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNwQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEIsUUFBUSxLQUFLLEVBQUUsQ0FBQztnQkFDZCxLQUFLLHNCQUFzQixDQUFDO2dCQUM1QixLQUFLLDRCQUE0QjtvQkFDL0IsUUFBUSxFQUFFLEVBQUUsQ0FBQzt3QkFDWCxLQUFLLEdBQUc7NEJBQ04sYUFBYSxHQUFHLGNBQWMsQ0FBQzs0QkFDL0IsTUFBTTt3QkFDUixLQUFLLEdBQUc7NEJBQ04sYUFBYSxHQUFHLGNBQWMsQ0FBQzs0QkFDL0IsTUFBTTt3QkFDUixLQUFLLGlDQUFpQyxDQUFDLEtBQUssQ0FBQzs0QkFDM0MsYUFBYSxHQUFHLG1DQUFtQyxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUMzRCxNQUFNO3dCQUNSOzRCQUNFLGFBQWEsR0FBRyxTQUFTLENBQUM7NEJBQzFCLE1BQU07b0JBQ1YsQ0FBQztvQkFDRCxJQUFJLEVBQUUsS0FBSyxpQ0FBaUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUNwRCxHQUFHLElBQUksR0FBRyxtQ0FBbUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztvQkFDOUQsQ0FBQztvQkFDRCxLQUFLLEdBQUcsYUFBYSxDQUFDO29CQUN0QixNQUFNO2dCQUVSLEtBQUssc0JBQXNCO29CQUN6QixJQUFJLEVBQUUsS0FBSyxHQUFHLEVBQUUsQ0FBQzt3QkFDZixLQUFLLEdBQUcsWUFBWSxDQUFDO29CQUN2QixDQUFDO3lCQUFNLENBQUM7d0JBQ04sS0FBSyxHQUFHLGlCQUFpQixDQUFDO3dCQUMxQixHQUFHLElBQUksS0FBSyxDQUFDO29CQUNmLENBQUM7b0JBQ0QsTUFBTTtnQkFFUixLQUFLLDRCQUE0QjtvQkFDL0IsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFLENBQUM7d0JBQ2YsS0FBSyxHQUFHLGtCQUFrQixDQUFDO29CQUM3QixDQUFDO3lCQUFNLENBQUM7d0JBQ04sS0FBSyxHQUFHLHVCQUF1QixDQUFDO3dCQUNoQyxHQUFHLElBQUksS0FBSyxDQUFDO29CQUNmLENBQUM7b0JBQ0QsTUFBTTtnQkFFUixLQUFLLDJCQUEyQjtvQkFDOUIsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFLENBQUM7d0JBQ2YsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7NEJBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQzt3QkFDekQsS0FBSyxHQUFHLFVBQVUsQ0FBQztvQkFDckIsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLEtBQUssR0FBRyxrQkFBa0IsQ0FBQztvQkFDN0IsQ0FBQztvQkFDRCxNQUFNO2dCQUVSLEtBQUssZ0NBQWdDO29CQUNuQyxHQUFHLElBQUksRUFBRSxDQUFDO29CQUNWLElBQUksRUFBRSxLQUFLLEdBQUcsRUFBRSxDQUFDO3dCQUNmLEtBQUssR0FBRyxVQUFVLENBQUM7d0JBQ25CLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7NEJBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ2pELENBQUM7eUJBQU0sQ0FBQzt3QkFDTixLQUFLLEdBQUcsdUJBQXVCLENBQUM7b0JBQ2xDLENBQUM7b0JBQ0QsTUFBTTtnQkFFUixLQUFLLFlBQVk7b0JBQ2YsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQzt3QkFDL0IsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7NEJBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQzt3QkFDekQsS0FBSyxHQUFHLFVBQVUsQ0FBQztvQkFDckIsQ0FBQztvQkFDRCxNQUFNO2dCQUVSLEtBQUssaUJBQWlCO29CQUNwQixHQUFHLElBQUksRUFBRSxDQUFDO29CQUNWLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7d0JBQy9CLEtBQUssR0FBRyxVQUFVLENBQUM7b0JBQ3JCLENBQUM7b0JBQ0QsTUFBTTtnQkFFUixLQUFLLGtCQUFrQjtvQkFDckIsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFLENBQUM7d0JBQ2YsS0FBSyxHQUFHLDJCQUEyQixDQUFDO29CQUN0QyxDQUFDO29CQUNELE1BQU07Z0JBRVIsS0FBSyx1QkFBdUI7b0JBQzFCLEdBQUcsSUFBSSxFQUFFLENBQUM7b0JBQ1YsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFLENBQUM7d0JBQ2YsS0FBSyxHQUFHLGdDQUFnQyxDQUFDO29CQUMzQyxDQUFDO29CQUNELE1BQU07Z0JBRVIsS0FBSyxPQUFPO29CQUNWLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQzt3QkFBRSxTQUFTO29CQUM5QixRQUFRLEVBQUUsRUFBRSxDQUFDO3dCQUNYLEtBQUssR0FBRzs0QkFDTixLQUFLLEdBQUcsY0FBYyxDQUFDOzRCQUN2QixNQUFNO3dCQUNSLEtBQUssR0FBRzs0QkFDTixLQUFLLEdBQUcsY0FBYyxDQUFDOzRCQUN2QixNQUFNO3dCQUNSLEtBQUssR0FBRzs0QkFDTixLQUFLLEdBQUcsc0JBQXNCLENBQUM7NEJBQy9CLE1BQU07d0JBQ1IsS0FBSyxHQUFHOzRCQUNOLEtBQUssR0FBRyxZQUFZLENBQUM7NEJBQ3JCLE1BQU07d0JBQ1IsS0FBSyxHQUFHOzRCQUNOLEtBQUssR0FBRyw0QkFBNEIsQ0FBQzs0QkFDckMsTUFBTTt3QkFDUjs0QkFDRSxLQUFLLEdBQUcsU0FBUyxDQUFDOzRCQUNsQixNQUFNO29CQUNWLENBQUM7b0JBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO3dCQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7b0JBQzNDLE1BQU07Z0JBRVIsS0FBSyxjQUFjLENBQUM7Z0JBQ3BCLEtBQUssY0FBYztvQkFDakIsUUFBUSxFQUFFLEVBQUUsQ0FBQzt3QkFDWCxLQUFLLElBQUk7NEJBQ1AsS0FBSyxHQUFHLG1CQUFtQixLQUFLLEVBQUUsQ0FBQzs0QkFDbkMsTUFBTTt3QkFDUixLQUFLLEdBQUc7NEJBQ04sSUFBSSxLQUFLLEtBQUssY0FBYyxFQUFFLENBQUM7Z0NBQzdCLEtBQUssR0FBRyxZQUFZLENBQUM7NEJBQ3ZCLENBQUM7NEJBQ0QsTUFBTTt3QkFDUixLQUFLLEdBQUc7NEJBQ04sSUFBSSxLQUFLLEtBQUssY0FBYyxFQUFFLENBQUM7Z0NBQzdCLEtBQUssR0FBRyxZQUFZLENBQUM7NEJBQ3ZCLENBQUM7NEJBQ0QsTUFBTTt3QkFDUjs0QkFDRSxNQUFNO29CQUNWLENBQUM7b0JBQ0QsR0FBRyxJQUFJLEVBQUUsQ0FBQztvQkFDVixNQUFNO2dCQUVSLEtBQUssOEJBQThCLENBQUM7Z0JBQ3BDLEtBQUssOEJBQThCO29CQUNqQyxHQUFHLElBQUksRUFBRSxDQUFDO29CQUNWLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN6QixNQUFNO2dCQUVSLEtBQUssWUFBWSxDQUFDO2dCQUNsQixLQUFLLFNBQVM7b0JBQ1osUUFBUSxFQUFFLEVBQUUsQ0FBQzt3QkFDWCxLQUFLLEdBQUc7NEJBQ04sS0FBSyxHQUFHLGNBQWMsQ0FBQzs0QkFDdkIsTUFBTTt3QkFDUixLQUFLLEdBQUc7NEJBQ04sS0FBSyxHQUFHLGNBQWMsQ0FBQzs0QkFDdkIsTUFBTTt3QkFDUixLQUFLLEdBQUc7NEJBQ04sS0FBSyxHQUFHLHNCQUFzQixDQUFDOzRCQUMvQixNQUFNO3dCQUNSLEtBQUssR0FBRzs0QkFDTixLQUFLLEdBQUcsWUFBWSxDQUFDOzRCQUNyQixNQUFNO3dCQUNSLEtBQUssR0FBRzs0QkFDTixLQUFLLEdBQUcsNEJBQTRCLENBQUM7NEJBQ3JDLE1BQU07d0JBQ1I7NEJBQ0UsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDcEIsS0FBSyxHQUFHLFVBQVUsQ0FBQztnQ0FDbkIsR0FBRyxJQUFJLEdBQUcsQ0FBQztnQ0FDWCxTQUFTOzRCQUNYLENBQUM7NEJBQ0QsS0FBSyxHQUFHLFNBQVMsQ0FBQztvQkFDdEIsQ0FBQztvQkFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7d0JBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztvQkFDM0MsTUFBTTtnQkFFUixLQUFLLFVBQVU7b0JBQ2IsUUFBUSxFQUFFLEVBQUUsQ0FBQzt3QkFDWCxLQUFLLEdBQUc7NEJBQ04sS0FBSyxHQUFHLGNBQWMsQ0FBQzs0QkFDdkIsTUFBTTt3QkFDUixLQUFLLEdBQUc7NEJBQ04sS0FBSyxHQUFHLGNBQWMsQ0FBQzs0QkFDdkIsTUFBTTt3QkFDUixLQUFLLEdBQUc7NEJBQ04sS0FBSyxHQUFHLHNCQUFzQixDQUFDOzRCQUMvQixNQUFNO3dCQUNSLEtBQUssR0FBRzs0QkFDTixLQUFLLEdBQUcsWUFBWSxDQUFDOzRCQUNyQixNQUFNO3dCQUNSLEtBQUssR0FBRzs0QkFDTixLQUFLLEdBQUcsNEJBQTRCLENBQUM7NEJBQ3JDLE1BQU07d0JBQ1I7NEJBQ0UsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDO2dDQUFFLFNBQVM7NEJBQzlCLEtBQUssR0FBRyxTQUFTLENBQUM7b0JBQ3RCLENBQUM7b0JBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO3dCQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7b0JBQzNDLE1BQU07Z0JBRVI7b0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQztDQUNGIn0=
18
+ var SqlUtil = class {
19
+ static minify(sql) {
20
+ let ret = "";
21
+ let state = "START";
22
+ let tempNextState;
23
+ for (let i = 0; i < sql.length; i++) {
24
+ const ch = sql[i];
25
+ switch (state) {
26
+ case "MAY_BE_FIRST_COMMENT":
27
+ case "MAY_BE_FIRST_BLOCK_COMMENT":
28
+ switch (ch) {
29
+ case "\"":
30
+ tempNextState = "DOUBLE_QUOTE";
31
+ break;
32
+ case "'":
33
+ tempNextState = "SINGLE_QUOTE";
34
+ break;
35
+ case MUL_CHAR_LEADING_COMMENT_VERIFIER[state]:
36
+ tempNextState = MUL_CHAR_LEADING_COMMENT_NEXT_STATE[state];
37
+ break;
38
+ default:
39
+ tempNextState = "CONTENT";
40
+ break;
41
+ }
42
+ if (ch !== MUL_CHAR_LEADING_COMMENT_VERIFIER[state]) ret += `${MUL_CHAR_LEADING_COMMENT_FIRST_CHAR[state]}${ch}`;
43
+ state = tempNextState;
44
+ break;
45
+ case "IN_COMMENT_WAIT_HINT":
46
+ if (ch !== "+") state = "IN_COMMENT";
47
+ else {
48
+ state = "IN_COMMENT_HINT";
49
+ ret += "--+";
50
+ }
51
+ break;
52
+ case "IN_BLOCK_COMMENT_WAIT_HINT":
53
+ if (ch !== "+") state = "IN_BLOCK_COMMENT";
54
+ else {
55
+ state = "IN_BLOCK_COMMENT_HINT";
56
+ ret += "/*+";
57
+ }
58
+ break;
59
+ case "MAY_BE_LAST_BLOCK_COMMENT":
60
+ if (ch === "/") {
61
+ if (ret && !isWhiteChar(ret[ret.length - 1])) ret += " ";
62
+ state = "IN_SPACE";
63
+ } else state = "IN_BLOCK_COMMENT";
64
+ break;
65
+ case "MAY_BE_LAST_BLOCK_COMMENT_HINT":
66
+ ret += ch;
67
+ if (ch === "/") {
68
+ state = "IN_SPACE";
69
+ if (isWhiteChar(sql[i + 1])) ret += sql[i + 1];
70
+ } else state = "IN_BLOCK_COMMENT_HINT";
71
+ break;
72
+ case "IN_COMMENT":
73
+ if (ch === "\n" || ch === "\r") {
74
+ if (ret && !isWhiteChar(ret[ret.length - 1])) ret += " ";
75
+ state = "IN_SPACE";
76
+ }
77
+ break;
78
+ case "IN_COMMENT_HINT":
79
+ ret += ch;
80
+ if (ch === "\n" || ch === "\r") state = "IN_SPACE";
81
+ break;
82
+ case "IN_BLOCK_COMMENT":
83
+ if (ch === "*") state = "MAY_BE_LAST_BLOCK_COMMENT";
84
+ break;
85
+ case "IN_BLOCK_COMMENT_HINT":
86
+ ret += ch;
87
+ if (ch === "*") state = "MAY_BE_LAST_BLOCK_COMMENT_HINT";
88
+ break;
89
+ case "START":
90
+ if (isWhiteChar(ch)) continue;
91
+ switch (ch) {
92
+ case "\"":
93
+ state = "DOUBLE_QUOTE";
94
+ break;
95
+ case "'":
96
+ state = "SINGLE_QUOTE";
97
+ break;
98
+ case "-":
99
+ state = "MAY_BE_FIRST_COMMENT";
100
+ break;
101
+ case "#":
102
+ state = "IN_COMMENT";
103
+ break;
104
+ case "/":
105
+ state = "MAY_BE_FIRST_BLOCK_COMMENT";
106
+ break;
107
+ default:
108
+ state = "CONTENT";
109
+ break;
110
+ }
111
+ if (!COMMENT_CHARS.includes(ch)) ret += ch;
112
+ break;
113
+ case "DOUBLE_QUOTE":
114
+ case "SINGLE_QUOTE":
115
+ switch (ch) {
116
+ case "\\":
117
+ state = `BACKSLASH_AFTER_${state}`;
118
+ break;
119
+ case "'":
120
+ if (state === "SINGLE_QUOTE") state = "QUOTE_DONE";
121
+ break;
122
+ case "\"":
123
+ if (state === "DOUBLE_QUOTE") state = "QUOTE_DONE";
124
+ break;
125
+ default: break;
126
+ }
127
+ ret += ch;
128
+ break;
129
+ case "BACKSLASH_AFTER_SINGLE_QUOTE":
130
+ case "BACKSLASH_AFTER_DOUBLE_QUOTE":
131
+ ret += ch;
132
+ state = state.substr(16);
133
+ break;
134
+ case "QUOTE_DONE":
135
+ case "CONTENT":
136
+ switch (ch) {
137
+ case "'":
138
+ state = "SINGLE_QUOTE";
139
+ break;
140
+ case "\"":
141
+ state = "DOUBLE_QUOTE";
142
+ break;
143
+ case "-":
144
+ state = "MAY_BE_FIRST_COMMENT";
145
+ break;
146
+ case "#":
147
+ state = "IN_COMMENT";
148
+ break;
149
+ case "/":
150
+ state = "MAY_BE_FIRST_BLOCK_COMMENT";
151
+ break;
152
+ default:
153
+ if (isWhiteChar(ch)) {
154
+ state = "IN_SPACE";
155
+ ret += " ";
156
+ continue;
157
+ }
158
+ state = "CONTENT";
159
+ }
160
+ if (!COMMENT_CHARS.includes(ch)) ret += ch;
161
+ break;
162
+ case "IN_SPACE":
163
+ switch (ch) {
164
+ case "'":
165
+ state = "SINGLE_QUOTE";
166
+ break;
167
+ case "\"":
168
+ state = "DOUBLE_QUOTE";
169
+ break;
170
+ case "-":
171
+ state = "MAY_BE_FIRST_COMMENT";
172
+ break;
173
+ case "#":
174
+ state = "IN_COMMENT";
175
+ break;
176
+ case "/":
177
+ state = "MAY_BE_FIRST_BLOCK_COMMENT";
178
+ break;
179
+ default:
180
+ if (isWhiteChar(ch)) continue;
181
+ state = "CONTENT";
182
+ }
183
+ if (!COMMENT_CHARS.includes(ch)) ret += ch;
184
+ break;
185
+ default: throw new Error("Unexpected state machine while minifying SQL.");
186
+ }
187
+ }
188
+ return ret.trim();
189
+ }
190
+ };
191
+
192
+ //#endregion
193
+ export { SqlUtil };
@@ -1,6 +1,10 @@
1
- import { TableModel } from '@eggjs/dal-decorator';
2
- export declare class TableModelInstanceBuilder {
3
- constructor(tableModel: TableModel, row: Record<string, any>);
4
- static buildInstance<T>(tableModel: TableModel<T>, row: Record<string, any>): T;
5
- static buildRow<T extends object>(instance: T, tableModel: TableModel<T>): Record<string, any>;
1
+ import { TableModel } from "@eggjs/dal-decorator";
2
+
3
+ //#region src/TableModelInstanceBuilder.d.ts
4
+ declare class TableModelInstanceBuilder {
5
+ constructor(tableModel: TableModel, row: Record<string, any>);
6
+ static buildInstance<T>(tableModel: TableModel<T>, row: Record<string, any>): T;
7
+ static buildRow<T extends object>(instance: T, tableModel: TableModel<T>): Record<string, any>;
6
8
  }
9
+ //#endregion
10
+ export { TableModelInstanceBuilder };
@@ -1,23 +1,25 @@
1
- import { TableModel } from '@eggjs/dal-decorator';
2
- export class TableModelInstanceBuilder {
3
- constructor(tableModel, row) {
4
- for (const [key, value] of Object.entries(row)) {
5
- const column = tableModel.columns.find((t) => t.columnName === key);
6
- Reflect.set(this, column?.propertyName ?? key, value);
7
- }
8
- }
9
- static buildInstance(tableModel, row) {
10
- return Reflect.construct(TableModelInstanceBuilder, [tableModel, row], tableModel.clazz);
11
- }
12
- static buildRow(instance, tableModel) {
13
- const result = {};
14
- for (const column of tableModel.columns) {
15
- const columnValue = Reflect.get(instance, column.propertyName);
16
- if (typeof columnValue !== 'undefined') {
17
- result[`$${column.propertyName}`] = columnValue;
18
- }
19
- }
20
- return result;
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVNb2RlbEluc3RhbmNlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9UYWJsZU1vZGVsSW5zdGFuY2VCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQVksVUFBc0IsRUFBRSxHQUF3QjtRQUMxRCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9DLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ3BFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLElBQUksR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBSSxVQUF5QixFQUFFLEdBQXdCO1FBQ3pFLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQW1CLFFBQVcsRUFBRSxVQUF5QjtRQUN0RSxNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBQ3ZDLEtBQUssTUFBTSxNQUFNLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvRCxJQUFJLE9BQU8sV0FBVyxLQUFLLFdBQVcsRUFBRSxDQUFDO2dCQUN2QyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YifQ==
1
+ import { TableModel } from "@eggjs/dal-decorator";
2
+
3
+ //#region src/TableModelInstanceBuilder.ts
4
+ var TableModelInstanceBuilder = class TableModelInstanceBuilder {
5
+ constructor(tableModel, row) {
6
+ for (const [key, value] of Object.entries(row)) {
7
+ const column = tableModel.columns.find((t) => t.columnName === key);
8
+ Reflect.set(this, column?.propertyName ?? key, value);
9
+ }
10
+ }
11
+ static buildInstance(tableModel, row) {
12
+ return Reflect.construct(TableModelInstanceBuilder, [tableModel, row], tableModel.clazz);
13
+ }
14
+ static buildRow(instance, tableModel) {
15
+ const result = {};
16
+ for (const column of tableModel.columns) {
17
+ const columnValue = Reflect.get(instance, column.propertyName);
18
+ if (typeof columnValue !== "undefined") result[`$${column.propertyName}`] = columnValue;
19
+ }
20
+ return result;
21
+ }
22
+ };
23
+
24
+ //#endregion
25
+ export { TableModelInstanceBuilder };
@@ -1,19 +1,18 @@
1
- import { Template } from 'nunjucks';
2
- import { SqlType } from '@eggjs/tegg-types';
3
- import type { SqlMap } from '@eggjs/tegg-types';
4
- export interface SqlGenerator {
5
- type: SqlType;
6
- template: Template;
7
- raw: string;
8
- }
9
- export declare class TableSqlMap {
10
- #private;
11
- readonly name: string;
12
- private readonly map;
13
- private readonly blocks;
14
- private readonly sqlGenerator;
15
- constructor(name: string, map: Record<string, SqlMap>);
16
- generate(name: string, data: object, timezone: string): string;
17
- getType(name: string): SqlType;
18
- getTemplateString(name: string): string;
1
+ import { SqlMap, SqlType } from "@eggjs/tegg-types";
2
+ import { Template } from "nunjucks";
3
+
4
+ //#region src/TableSqlMap.d.ts
5
+
6
+ declare class TableSqlMap {
7
+ #private;
8
+ readonly name: string;
9
+ private readonly map;
10
+ private readonly blocks;
11
+ private readonly sqlGenerator;
12
+ constructor(name: string, map: Record<string, SqlMap>);
13
+ generate(name: string, data: object, timezone: string): string;
14
+ getType(name: string): SqlType;
15
+ getTemplateString(name: string): string;
19
16
  }
17
+ //#endregion
18
+ export { TableSqlMap };