@eggjs/dal-runtime 4.0.0-beta.9 → 4.0.1-beta.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.
@@ -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,20 +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
- constructor(tableModel, baseDaoClazz, logger) {
6
- this.clazzExtension = baseDaoClazz.clazzExtension;
7
- this.logger = logger;
8
- this.tableModel = tableModel;
9
- }
10
- load() {
11
- const baseSqlMapGenerator = new BaseSqlMapGenerator(this.tableModel, this.logger);
12
- const baseSqlMap = baseSqlMapGenerator.load();
13
- const sqlMap = {
14
- ...baseSqlMap,
15
- ...this.clazzExtension,
16
- };
17
- return new TableSqlMap(this.tableModel.clazz.name, sqlMap);
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsTWFwTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NxbE1hcExvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFZLFVBQXNCLEVBQUUsWUFBeUIsRUFBRSxNQUFjO1FBQzNFLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSTtRQUNGLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRixNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QyxNQUFNLE1BQU0sR0FBRztZQUNiLEdBQUcsVUFBVTtZQUNiLEdBQUcsSUFBSSxDQUFDLGNBQWM7U0FDdkIsQ0FBQztRQUNGLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FDRiJ9
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,221 +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: break;
152
- }
153
- ret += ch;
154
- break;
155
- case 'BACKSLASH_AFTER_SINGLE_QUOTE':
156
- case 'BACKSLASH_AFTER_DOUBLE_QUOTE':
157
- ret += ch;
158
- state = state.substr(16);
159
- break;
160
- case 'QUOTE_DONE':
161
- case 'CONTENT':
162
- switch (ch) {
163
- case '\'':
164
- state = 'SINGLE_QUOTE';
165
- break;
166
- case '"':
167
- state = 'DOUBLE_QUOTE';
168
- break;
169
- case '-':
170
- state = 'MAY_BE_FIRST_COMMENT';
171
- break;
172
- case '#':
173
- state = 'IN_COMMENT';
174
- break;
175
- case '/':
176
- state = 'MAY_BE_FIRST_BLOCK_COMMENT';
177
- break;
178
- default:
179
- if (isWhiteChar(ch)) {
180
- state = 'IN_SPACE';
181
- ret += ' ';
182
- continue;
183
- }
184
- state = 'CONTENT';
185
- }
186
- if (!COMMENT_CHARS.includes(ch))
187
- ret += ch;
188
- break;
189
- case 'IN_SPACE':
190
- switch (ch) {
191
- case '\'':
192
- state = 'SINGLE_QUOTE';
193
- break;
194
- case '"':
195
- state = 'DOUBLE_QUOTE';
196
- break;
197
- case '-':
198
- state = 'MAY_BE_FIRST_COMMENT';
199
- break;
200
- case '#':
201
- state = 'IN_COMMENT';
202
- break;
203
- case '/':
204
- state = 'MAY_BE_FIRST_BLOCK_COMMENT';
205
- break;
206
- default:
207
- if (isWhiteChar(ch))
208
- continue;
209
- state = 'CONTENT';
210
- }
211
- if (!COMMENT_CHARS.includes(ch))
212
- ret += ch;
213
- break;
214
- default:
215
- throw new Error('Unexpected state machine while minifying SQL.');
216
- }
217
- }
218
- return ret.trim();
219
- }
220
- }
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TcWxVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsV0FBVyxDQUFDLEVBQVU7SUFDN0IsT0FBTyxFQUFFLEtBQUssR0FBRyxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDO0FBQ2pFLENBQUM7QUFFRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUM7QUFDNUIsTUFBTSxtQ0FBbUMsR0FBRztJQUMxQyxvQkFBb0IsRUFBRSxHQUFHO0lBQ3pCLDBCQUEwQixFQUFFLEdBQUc7Q0FDaEMsQ0FBQztBQUNGLE1BQU0saUNBQWlDLEdBQUc7SUFDeEMsb0JBQW9CLEVBQUUsR0FBRztJQUN6QiwwQkFBMEIsRUFBRSxHQUFHO0NBQ2hDLENBQUM7QUFDRixNQUFNLG1DQUFtQyxHQUFHO0lBQzFDLG9CQUFvQixFQUFFLHNCQUFzQjtJQUM1QywwQkFBMEIsRUFBRSw0QkFBNEI7Q0FDekQsQ0FBQztBQUVGLE1BQU0sT0FBTyxPQUFPO0lBQ2xCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBVztRQUN2QixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFFYixJQUFJLEtBQUssR0FBRyxPQUFPLENBQUM7UUFDcEIsSUFBSSxhQUFhLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNwQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEIsUUFBUSxLQUFLLEVBQUUsQ0FBQztnQkFDZCxLQUFLLHNCQUFzQixDQUFDO2dCQUM1QixLQUFLLDRCQUE0QjtvQkFDL0IsUUFBUSxFQUFFLEVBQUUsQ0FBQzt3QkFDWCxLQUFLLEdBQUc7NEJBQUUsYUFBYSxHQUFHLGNBQWMsQ0FBQzs0QkFBQyxNQUFNO3dCQUNoRCxLQUFLLElBQUk7NEJBQUUsYUFBYSxHQUFHLGNBQWMsQ0FBQzs0QkFBQyxNQUFNO3dCQUNqRCxLQUFLLGlDQUFpQyxDQUFDLEtBQUssQ0FBQzs0QkFDM0MsYUFBYSxHQUFHLG1DQUFtQyxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUMzRCxNQUFNO3dCQUNSOzRCQUFTLGFBQWEsR0FBRyxTQUFTLENBQUM7NEJBQUMsTUFBTTtvQkFDNUMsQ0FBQztvQkFDRCxJQUFJLEVBQUUsS0FBSyxpQ0FBaUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUNwRCxHQUFHLElBQUksR0FBRyxtQ0FBbUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztvQkFDOUQsQ0FBQztvQkFDRCxLQUFLLEdBQUcsYUFBYSxDQUFDO29CQUN0QixNQUFNO2dCQUVSLEtBQUssc0JBQXNCO29CQUN6QixJQUFJLEVBQUUsS0FBSyxHQUFHLEVBQUUsQ0FBQzt3QkFDZixLQUFLLEdBQUcsWUFBWSxDQUFDO29CQUN2QixDQUFDO3lCQUFNLENBQUM7d0JBQ04sS0FBSyxHQUFHLGlCQUFpQixDQUFDO3dCQUMxQixHQUFHLElBQUksS0FBSyxDQUFDO29CQUNmLENBQUM7b0JBQ0QsTUFBTTtnQkFFUixLQUFLLDRCQUE0QjtvQkFDL0IsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFLENBQUM7d0JBQ2YsS0FBSyxHQUFHLGtCQUFrQixDQUFDO29CQUM3QixDQUFDO3lCQUFNLENBQUM7d0JBQ04sS0FBSyxHQUFHLHVCQUF1QixDQUFDO3dCQUNoQyxHQUFHLElBQUksS0FBSyxDQUFDO29CQUNmLENBQUM7b0JBQ0QsTUFBTTtnQkFFUixLQUFLLDJCQUEyQjtvQkFDOUIsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFLENBQUM7d0JBQ2YsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7NEJBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQzt3QkFDekQsS0FBSyxHQUFHLFVBQVUsQ0FBQztvQkFDckIsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLEtBQUssR0FBRyxrQkFBa0IsQ0FBQztvQkFDN0IsQ0FBQztvQkFDRCxNQUFNO2dCQUVSLEtBQUssZ0NBQWdDO29CQUNuQyxHQUFHLElBQUksRUFBRSxDQUFDO29CQUNWLElBQUksRUFBRSxLQUFLLEdBQUcsRUFBRSxDQUFDO3dCQUNmLEtBQUssR0FBRyxVQUFVLENBQUM7d0JBQ25CLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7NEJBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ2pELENBQUM7eUJBQU0sQ0FBQzt3QkFDTixLQUFLLEdBQUcsdUJBQXVCLENBQUM7b0JBQ2xDLENBQUM7b0JBQ0QsTUFBTTtnQkFFUixLQUFLLFlBQVk7b0JBQ2YsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQzt3QkFDL0IsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7NEJBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQzt3QkFDekQsS0FBSyxHQUFHLFVBQVUsQ0FBQztvQkFDckIsQ0FBQztvQkFDRCxNQUFNO2dCQUVSLEtBQUssaUJBQWlCO29CQUNwQixHQUFHLElBQUksRUFBRSxDQUFDO29CQUNWLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7d0JBQy9CLEtBQUssR0FBRyxVQUFVLENBQUM7b0JBQ3JCLENBQUM7b0JBQ0QsTUFBTTtnQkFFUixLQUFLLGtCQUFrQjtvQkFDckIsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFLENBQUM7d0JBQ2YsS0FBSyxHQUFHLDJCQUEyQixDQUFDO29CQUN0QyxDQUFDO29CQUNELE1BQU07Z0JBRVIsS0FBSyx1QkFBdUI7b0JBQzFCLEdBQUcsSUFBSSxFQUFFLENBQUM7b0JBQ1YsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFLENBQUM7d0JBQ2YsS0FBSyxHQUFHLGdDQUFnQyxDQUFDO29CQUMzQyxDQUFDO29CQUNELE1BQU07Z0JBRVIsS0FBSyxPQUFPO29CQUNWLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQzt3QkFBRSxTQUFTO29CQUM5QixRQUFRLEVBQUUsRUFBRSxDQUFDO3dCQUNYLEtBQUssR0FBRzs0QkFBRSxLQUFLLEdBQUcsY0FBYyxDQUFDOzRCQUFDLE1BQU07d0JBQ3hDLEtBQUssSUFBSTs0QkFBRSxLQUFLLEdBQUcsY0FBYyxDQUFDOzRCQUFDLE1BQU07d0JBQ3pDLEtBQUssR0FBRzs0QkFBRSxLQUFLLEdBQUcsc0JBQXNCLENBQUM7NEJBQUMsTUFBTTt3QkFDaEQsS0FBSyxHQUFHOzRCQUFFLEtBQUssR0FBRyxZQUFZLENBQUM7NEJBQUMsTUFBTTt3QkFDdEMsS0FBSyxHQUFHOzRCQUFFLEtBQUssR0FBRyw0QkFBNEIsQ0FBQzs0QkFBQyxNQUFNO3dCQUN0RDs0QkFBUyxLQUFLLEdBQUcsU0FBUyxDQUFDOzRCQUFDLE1BQU07b0JBQ3BDLENBQUM7b0JBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO3dCQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7b0JBQzNDLE1BQU07Z0JBRVIsS0FBSyxjQUFjLENBQUM7Z0JBQ3BCLEtBQUssY0FBYztvQkFDakIsUUFBUSxFQUFFLEVBQUUsQ0FBQzt3QkFDWCxLQUFLLElBQUk7NEJBQUUsS0FBSyxHQUFHLG1CQUFtQixLQUFLLEVBQUUsQ0FBQzs0QkFBQyxNQUFNO3dCQUNyRCxLQUFLLElBQUk7NEJBQ1AsSUFBSSxLQUFLLEtBQUssY0FBYyxFQUFFLENBQUM7Z0NBQzdCLEtBQUssR0FBRyxZQUFZLENBQUM7NEJBQ3ZCLENBQUM7NEJBQ0QsTUFBTTt3QkFDUixLQUFLLEdBQUc7NEJBQ04sSUFBSSxLQUFLLEtBQUssY0FBYyxFQUFFLENBQUM7Z0NBQzdCLEtBQUssR0FBRyxZQUFZLENBQUM7NEJBQ3ZCLENBQUM7NEJBQ0QsTUFBTTt3QkFDUixPQUFPLENBQUMsQ0FBQyxNQUFNO29CQUNqQixDQUFDO29CQUNELEdBQUcsSUFBSSxFQUFFLENBQUM7b0JBQ1YsTUFBTTtnQkFFUixLQUFLLDhCQUE4QixDQUFDO2dCQUNwQyxLQUFLLDhCQUE4QjtvQkFDakMsR0FBRyxJQUFJLEVBQUUsQ0FBQztvQkFDVixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDekIsTUFBTTtnQkFFUixLQUFLLFlBQVksQ0FBQztnQkFDbEIsS0FBSyxTQUFTO29CQUNaLFFBQVEsRUFBRSxFQUFFLENBQUM7d0JBQ1gsS0FBSyxJQUFJOzRCQUFFLEtBQUssR0FBRyxjQUFjLENBQUM7NEJBQUMsTUFBTTt3QkFDekMsS0FBSyxHQUFHOzRCQUFFLEtBQUssR0FBRyxjQUFjLENBQUM7NEJBQUMsTUFBTTt3QkFDeEMsS0FBSyxHQUFHOzRCQUFFLEtBQUssR0FBRyxzQkFBc0IsQ0FBQzs0QkFBQyxNQUFNO3dCQUNoRCxLQUFLLEdBQUc7NEJBQUUsS0FBSyxHQUFHLFlBQVksQ0FBQzs0QkFBQyxNQUFNO3dCQUN0QyxLQUFLLEdBQUc7NEJBQUUsS0FBSyxHQUFHLDRCQUE0QixDQUFDOzRCQUFDLE1BQU07d0JBQ3REOzRCQUNFLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0NBQ3BCLEtBQUssR0FBRyxVQUFVLENBQUM7Z0NBQ25CLEdBQUcsSUFBSSxHQUFHLENBQUM7Z0NBQ1gsU0FBUzs0QkFDWCxDQUFDOzRCQUNELEtBQUssR0FBRyxTQUFTLENBQUM7b0JBQ3RCLENBQUM7b0JBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO3dCQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7b0JBQzNDLE1BQU07Z0JBRVIsS0FBSyxVQUFVO29CQUNiLFFBQVEsRUFBRSxFQUFFLENBQUM7d0JBQ1gsS0FBSyxJQUFJOzRCQUFFLEtBQUssR0FBRyxjQUFjLENBQUM7NEJBQUMsTUFBTTt3QkFDekMsS0FBSyxHQUFHOzRCQUFFLEtBQUssR0FBRyxjQUFjLENBQUM7NEJBQUMsTUFBTTt3QkFDeEMsS0FBSyxHQUFHOzRCQUFFLEtBQUssR0FBRyxzQkFBc0IsQ0FBQzs0QkFBQyxNQUFNO3dCQUNoRCxLQUFLLEdBQUc7NEJBQUUsS0FBSyxHQUFHLFlBQVksQ0FBQzs0QkFBQyxNQUFNO3dCQUN0QyxLQUFLLEdBQUc7NEJBQUUsS0FBSyxHQUFHLDRCQUE0QixDQUFDOzRCQUFDLE1BQU07d0JBQ3REOzRCQUNFLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQztnQ0FBRSxTQUFTOzRCQUM5QixLQUFLLEdBQUcsU0FBUyxDQUFDO29CQUN0QixDQUFDO29CQUNELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQzt3QkFBRSxHQUFHLElBQUksRUFBRSxDQUFDO29CQUMzQyxNQUFNO2dCQUVSO29CQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztZQUNyRSxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7Q0FDRiJ9
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>): any;
5
- static buildRow<T extends object>(instance: T, tableModel: TableModel<T>): 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVNb2RlbEluc3RhbmNlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9UYWJsZU1vZGVsSW5zdGFuY2VCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQVksVUFBc0IsRUFBRSxHQUF3QjtRQUMxRCxLQUFLLE1BQU0sQ0FBRSxHQUFHLEVBQUUsS0FBSyxDQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2pELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNsRSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxJQUFJLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUksVUFBeUIsRUFBRSxHQUF3QjtRQUN6RSxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMseUJBQXlCLEVBQUUsQ0FBRSxVQUFVLEVBQUUsR0FBRyxDQUFFLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFtQixRQUFXLEVBQUUsVUFBeUI7UUFDdEUsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssTUFBTSxNQUFNLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvRCxJQUFJLE9BQU8sV0FBVyxLQUFLLFdBQVcsRUFBRSxDQUFDO2dCQUN2QyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YifQ==
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,21 @@
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;
1
+ import { SqlMap, SqlType } from "@eggjs/tegg-types";
2
+ import { Template } from "nunjucks";
3
+
4
+ //#region src/TableSqlMap.d.ts
5
+ interface GeneratedSql {
6
+ sql: string;
7
+ params: any[];
8
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;
9
+ 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): GeneratedSql;
17
+ getType(name: string): SqlType;
18
+ getTemplateString(name: string): string;
19
19
  }
20
+ //#endregion
21
+ export { TableSqlMap };