taon-type-sql 21.0.21 → 21.0.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/browser/package.json +1 -1
- package/browser-prod/package.json +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/package.json +1 -1
- package/lib-prod/build-info._auto-generated_.ts +27 -0
- package/lib-prod/builder/column/basic-column.ts +17 -0
- package/lib-prod/builder/column/boolean-column.ts +19 -0
- package/lib-prod/builder/column/comparable-column.ts +56 -0
- package/lib-prod/builder/column/date-column.ts +19 -0
- package/lib-prod/builder/column/number-column.ts +25 -0
- package/lib-prod/builder/column/query-column.ts +34 -0
- package/lib-prod/builder/column/string-column.ts +47 -0
- package/lib-prod/builder/column/value-column.ts +39 -0
- package/lib-prod/builder/condition/{query-column-condition.d.ts → query-column-condition.ts} +20 -5
- package/lib-prod/builder/condition/query-condition-chain.ts +42 -0
- package/lib-prod/builder/condition/{query-condition.d.ts → query-condition.ts} +8 -2
- package/lib-prod/builder/condition/{query-join-condition.d.ts → query-join-condition.ts} +19 -4
- package/lib-prod/builder/helpers/generics-helper.ts +2 -0
- package/lib-prod/builder/helpers/{internal-types.d.ts → internal-types.ts} +25 -9
- package/lib-prod/builder/join/joined-tables-chain.ts +17 -0
- package/lib-prod/builder/join/joined-tables.ts +28 -0
- package/lib-prod/builder/other/{query-ordering.d.ts → query-ordering.ts} +20 -4
- package/lib-prod/builder/query/select-query.ts +68 -0
- package/lib-prod/builder/query/table-condition-query.ts +35 -0
- package/lib-prod/builder/query/table-query.ts +72 -0
- package/lib-prod/builder/{query-source.d.ts → query-source.ts} +19 -8
- package/lib-prod/builder/query-table.ts +34 -0
- package/lib-prod/client/mysql.ts +9 -0
- package/lib-prod/client/pg.ts +9 -0
- package/lib-prod/client/query-processor.ts +89 -0
- package/lib-prod/converter/{param-converter.js → param-converter.ts} +8 -16
- package/lib-prod/converter/parameterized-converter.ts +20 -0
- package/lib-prod/converter/{query-converter.js → query-converter.ts} +113 -101
- package/lib-prod/converter/result-converter.ts +88 -0
- package/lib-prod/converter/sql-converter.ts +7 -0
- package/lib-prod/converter/type-converter.ts +29 -0
- package/lib-prod/converter/{types.d.ts → types.ts} +4 -3
- package/lib-prod/env/env.angular-node-app.ts +66 -0
- package/lib-prod/env/env.docs-webapp.ts +66 -0
- package/lib-prod/env/env.electron-app.ts +66 -0
- package/lib-prod/env/env.mobile-app.ts +66 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.ts +66 -0
- package/lib-prod/env/env.vscode-plugin.ts +66 -0
- package/lib-prod/{index._auto-generated_.js → index._auto-generated_.ts} +0 -1
- package/lib-prod/{index.d.ts → index.ts} +15 -3
- package/lib-prod/lib-info.md +8 -0
- package/lib-prod/migrations/index.ts +2 -0
- package/lib-prod/migrations/migrations-info.md +6 -0
- package/lib-prod/migrations/{migrations_index._auto-generated_.js → migrations_index._auto-generated_.ts} +2 -1
- package/lib-prod/package.json +1 -1
- package/package.json +1 -1
- package/websql/package.json +1 -1
- package/websql-prod/package.json +1 -1
- package/lib-prod/build-info._auto-generated_.d.ts +0 -24
- package/lib-prod/build-info._auto-generated_.js +0 -30
- package/lib-prod/build-info._auto-generated_.js.map +0 -1
- package/lib-prod/builder/column/basic-column.d.ts +0 -8
- package/lib-prod/builder/column/basic-column.js +0 -15
- package/lib-prod/builder/column/basic-column.js.map +0 -1
- package/lib-prod/builder/column/boolean-column.d.ts +0 -9
- package/lib-prod/builder/column/boolean-column.js +0 -15
- package/lib-prod/builder/column/boolean-column.js.map +0 -1
- package/lib-prod/builder/column/comparable-column.d.ts +0 -18
- package/lib-prod/builder/column/comparable-column.js +0 -42
- package/lib-prod/builder/column/comparable-column.js.map +0 -1
- package/lib-prod/builder/column/date-column.d.ts +0 -9
- package/lib-prod/builder/column/date-column.js +0 -15
- package/lib-prod/builder/column/date-column.js.map +0 -1
- package/lib-prod/builder/column/number-column.d.ts +0 -10
- package/lib-prod/builder/column/number-column.js +0 -20
- package/lib-prod/builder/column/number-column.js.map +0 -1
- package/lib-prod/builder/column/query-column.d.ts +0 -18
- package/lib-prod/builder/column/query-column.js +0 -26
- package/lib-prod/builder/column/query-column.js.map +0 -1
- package/lib-prod/builder/column/string-column.d.ts +0 -17
- package/lib-prod/builder/column/string-column.js +0 -37
- package/lib-prod/builder/column/string-column.js.map +0 -1
- package/lib-prod/builder/column/value-column.d.ts +0 -15
- package/lib-prod/builder/column/value-column.js +0 -30
- package/lib-prod/builder/column/value-column.js.map +0 -1
- package/lib-prod/builder/condition/query-column-condition.js +0 -23
- package/lib-prod/builder/condition/query-column-condition.js.map +0 -1
- package/lib-prod/builder/condition/query-condition-chain.d.ts +0 -17
- package/lib-prod/builder/condition/query-condition-chain.js +0 -34
- package/lib-prod/builder/condition/query-condition-chain.js.map +0 -1
- package/lib-prod/builder/condition/query-condition.js +0 -7
- package/lib-prod/builder/condition/query-condition.js.map +0 -1
- package/lib-prod/builder/condition/query-join-condition.js +0 -23
- package/lib-prod/builder/condition/query-join-condition.js.map +0 -1
- package/lib-prod/builder/helpers/generics-helper.d.ts +0 -2
- package/lib-prod/builder/helpers/generics-helper.js +0 -7
- package/lib-prod/builder/helpers/generics-helper.js.map +0 -1
- package/lib-prod/builder/helpers/internal-types.js +0 -4
- package/lib-prod/builder/helpers/internal-types.js.map +0 -1
- package/lib-prod/builder/join/joined-tables-chain.d.ts +0 -11
- package/lib-prod/builder/join/joined-tables-chain.js +0 -18
- package/lib-prod/builder/join/joined-tables-chain.js.map +0 -1
- package/lib-prod/builder/join/joined-tables.d.ts +0 -12
- package/lib-prod/builder/join/joined-tables.js +0 -25
- package/lib-prod/builder/join/joined-tables.js.map +0 -1
- package/lib-prod/builder/other/query-ordering.js +0 -21
- package/lib-prod/builder/other/query-ordering.js.map +0 -1
- package/lib-prod/builder/query/select-query.d.ts +0 -29
- package/lib-prod/builder/query/select-query.js +0 -54
- package/lib-prod/builder/query/select-query.js.map +0 -1
- package/lib-prod/builder/query/table-condition-query.d.ts +0 -16
- package/lib-prod/builder/query/table-condition-query.js +0 -31
- package/lib-prod/builder/query/table-condition-query.js.map +0 -1
- package/lib-prod/builder/query/table-query.d.ts +0 -23
- package/lib-prod/builder/query/table-query.js +0 -60
- package/lib-prod/builder/query/table-query.js.map +0 -1
- package/lib-prod/builder/query-source.js +0 -22
- package/lib-prod/builder/query-source.js.map +0 -1
- package/lib-prod/builder/query-table.d.ts +0 -15
- package/lib-prod/builder/query-table.js +0 -28
- package/lib-prod/builder/query-table.js.map +0 -1
- package/lib-prod/client/mysql.d.ts +0 -5
- package/lib-prod/client/mysql.js +0 -11
- package/lib-prod/client/mysql.js.map +0 -1
- package/lib-prod/client/pg.d.ts +0 -5
- package/lib-prod/client/pg.js +0 -11
- package/lib-prod/client/pg.js.map +0 -1
- package/lib-prod/client/query-processor.d.ts +0 -10
- package/lib-prod/client/query-processor.js +0 -73
- package/lib-prod/client/query-processor.js.map +0 -1
- package/lib-prod/converter/param-converter.d.ts +0 -2
- package/lib-prod/converter/param-converter.js.map +0 -1
- package/lib-prod/converter/parameterized-converter.d.ts +0 -5
- package/lib-prod/converter/parameterized-converter.js +0 -18
- package/lib-prod/converter/parameterized-converter.js.map +0 -1
- package/lib-prod/converter/query-converter.d.ts +0 -2
- package/lib-prod/converter/query-converter.js.map +0 -1
- package/lib-prod/converter/result-converter.d.ts +0 -2
- package/lib-prod/converter/result-converter.js +0 -89
- package/lib-prod/converter/result-converter.js.map +0 -1
- package/lib-prod/converter/sql-converter.d.ts +0 -2
- package/lib-prod/converter/sql-converter.js +0 -9
- package/lib-prod/converter/sql-converter.js.map +0 -1
- package/lib-prod/converter/type-converter.d.ts +0 -4
- package/lib-prod/converter/type-converter.js +0 -43
- package/lib-prod/converter/type-converter.js.map +0 -1
- package/lib-prod/converter/types.js +0 -3
- package/lib-prod/converter/types.js.map +0 -1
- package/lib-prod/env/env.angular-node-app.d.ts +0 -64
- package/lib-prod/env/env.angular-node-app.js +0 -71
- package/lib-prod/env/env.angular-node-app.js.map +0 -1
- package/lib-prod/env/env.docs-webapp.d.ts +0 -64
- package/lib-prod/env/env.docs-webapp.js +0 -71
- package/lib-prod/env/env.docs-webapp.js.map +0 -1
- package/lib-prod/env/env.electron-app.d.ts +0 -64
- package/lib-prod/env/env.electron-app.js +0 -71
- package/lib-prod/env/env.electron-app.js.map +0 -1
- package/lib-prod/env/env.mobile-app.d.ts +0 -64
- package/lib-prod/env/env.mobile-app.js +0 -71
- package/lib-prod/env/env.mobile-app.js.map +0 -1
- package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +0 -64
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +0 -71
- package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +0 -1
- package/lib-prod/env/env.vscode-plugin.d.ts +0 -64
- package/lib-prod/env/env.vscode-plugin.js +0 -71
- package/lib-prod/env/env.vscode-plugin.js.map +0 -1
- package/lib-prod/env/index.js +0 -23
- package/lib-prod/env/index.js.map +0 -1
- package/lib-prod/index._auto-generated_.d.ts +0 -0
- package/lib-prod/index._auto-generated_.js.map +0 -1
- package/lib-prod/index.js +0 -48
- package/lib-prod/index.js.map +0 -1
- package/lib-prod/migrations/index.d.ts +0 -1
- package/lib-prod/migrations/index.js +0 -19
- package/lib-prod/migrations/index.js.map +0 -1
- package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +0 -0
- package/lib-prod/migrations/migrations_index._auto-generated_.js.map +0 -1
- /package/lib-prod/env/{index.d.ts → index.ts} +0 -0
|
@@ -1,104 +1,115 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function createQueryConverter(paramConverter, options, engine) {
|
|
1
|
+
import { string, number, date, boolean } from './type-converter';
|
|
2
|
+
import { QueryEngine, ConverterOptions } from "./types";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
export function createQueryConverter(paramConverter: (param: any) => string, options: ConverterOptions, engine: QueryEngine) {
|
|
6
|
+
|
|
6
7
|
return convertQuery;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (query._action === 'delete')
|
|
11
|
-
|
|
12
|
-
if (query._action === '
|
|
13
|
-
return convertUpdateQuery(query);
|
|
14
|
-
if (query._action === 'insert')
|
|
15
|
-
return convertInsertQuery(query);
|
|
8
|
+
|
|
9
|
+
function convertQuery(query: any): string {
|
|
10
|
+
if (query._action === 'select') return convertSelectQuery(query);
|
|
11
|
+
if (query._action === 'delete') return convertDeleteQuery(query);
|
|
12
|
+
if (query._action === 'update') return convertUpdateQuery(query);
|
|
13
|
+
if (query._action === 'insert') return convertInsertQuery(query);
|
|
16
14
|
throw new Error('Unknown query type:' + query._action);
|
|
17
15
|
}
|
|
18
|
-
|
|
16
|
+
|
|
17
|
+
function convertDeleteQuery(query: any): string {
|
|
19
18
|
let s = 'DELETE FROM ' + convertTable(query._table);
|
|
20
19
|
s += convertConditions(query._conditions);
|
|
21
20
|
return s;
|
|
22
21
|
}
|
|
23
|
-
|
|
22
|
+
|
|
23
|
+
function convertUpdateQuery(query: any): string {
|
|
24
24
|
let s = 'UPDATE ' + convertTable(query._table) + ' SET ';
|
|
25
25
|
s += convertUpdateSetters(query._table, query._entity);
|
|
26
26
|
s += convertConditions(query._conditions);
|
|
27
27
|
return s;
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
|
|
30
|
+
function convertUpdateSetters(table: any, entity: any): string {
|
|
30
31
|
return Object.keys(entity).sort().map(key => {
|
|
31
32
|
let value = entity[key];
|
|
32
33
|
let column = table[key];
|
|
33
34
|
return convertColumnName(column) + ' = ' + convertParam(column, value);
|
|
34
35
|
}).join(', ');
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
let
|
|
39
|
-
|
|
40
|
-
return set;
|
|
41
|
-
}, new Set());
|
|
37
|
+
|
|
38
|
+
function convertInsertQuery(query: any): string {
|
|
39
|
+
let items: any[] = Array.isArray(query._entity) ? query._entity : [query._entity];
|
|
40
|
+
let keySet: Set<string> = items.reduce((set: Set<string>, item) => {
|
|
41
|
+
Object.keys(item).forEach(key => set.add(key)); return set;
|
|
42
|
+
}, new Set<string>());
|
|
42
43
|
let keys = Array.from(keySet).sort();
|
|
44
|
+
|
|
43
45
|
let s = 'INSERT INTO ' + convertTable(query._table) + ' ';
|
|
44
46
|
s += '(' + keys.map(key => convertColumnName(query._table[key])).join(', ') + ')';
|
|
45
47
|
s += options.lineBreak + 'VALUES ';
|
|
46
48
|
s += items.map(item => convertInsertItem(query._table, item, keys))
|
|
47
|
-
.map((row) => '(' + row + ')').join(', ');
|
|
49
|
+
.map((row: string) => '(' + row + ')').join(', ');
|
|
50
|
+
|
|
48
51
|
s += getPgInsertReturningIfNeeded(query);
|
|
49
52
|
return s;
|
|
50
53
|
}
|
|
51
|
-
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
function getPgInsertReturningIfNeeded(query: any): string {
|
|
52
57
|
if (engine === 'pg' && query._action === 'insert' && !Array.isArray(query._entity) &&
|
|
53
58
|
query._table.$id && query._table.$id._table && query._table.$id._name) {
|
|
54
59
|
return ' RETURNING ' + convertColumnName(query._table.$id);
|
|
55
60
|
}
|
|
56
61
|
return '';
|
|
57
62
|
}
|
|
58
|
-
|
|
63
|
+
|
|
64
|
+
function convertInsertItem(table: any, entity: any, keys: string[]): string {
|
|
59
65
|
return keys.map(key => {
|
|
60
66
|
let value = entity[key];
|
|
61
67
|
let column = table[key];
|
|
62
68
|
return convertParam(column, value);
|
|
63
69
|
}).join(', ');
|
|
64
70
|
}
|
|
65
|
-
|
|
71
|
+
|
|
72
|
+
function convertSelectQuery(query: any): string {
|
|
66
73
|
let s = 'SELECT ';
|
|
67
74
|
if (query._distinct) {
|
|
68
75
|
s += 'DISTINCT ';
|
|
69
76
|
}
|
|
77
|
+
|
|
70
78
|
if (query._columns == null || query._columns.length === 0) {
|
|
71
|
-
s += '*'
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
s += query._columns.map((column) => convertColumn(column)).join(', ');
|
|
79
|
+
s += '*'
|
|
80
|
+
} else {
|
|
81
|
+
s += query._columns.map((column: any) => convertColumn(column)).join(', ');
|
|
75
82
|
}
|
|
83
|
+
|
|
76
84
|
s += options.lineBreak + 'FROM ';
|
|
77
85
|
if (query._tables) {
|
|
78
|
-
s
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
s += convertTable(query._table);
|
|
86
|
+
s+= query._tables.map((table: any) => table._parent ? convertJoin(table) : convertTable(table)).join(', ');
|
|
87
|
+
} else {
|
|
88
|
+
s+= convertTable(query._table);
|
|
82
89
|
}
|
|
90
|
+
|
|
83
91
|
s += convertConditions(query._conditions);
|
|
92
|
+
|
|
84
93
|
if (query._groupBy && query._groupBy.length > 0) {
|
|
85
94
|
s += options.lineBreak + 'GROUP BY ';
|
|
86
|
-
s += query._groupBy.map((column) => convertColumn(column)).join(', ');
|
|
95
|
+
s += query._groupBy.map((column: any) => convertColumn(column)).join(', ');
|
|
87
96
|
}
|
|
88
97
|
s += convertConditions(query._having, 'HAVING');
|
|
98
|
+
|
|
89
99
|
if (query._orderings && query._orderings.length > 0) {
|
|
90
100
|
s += options.lineBreak + 'ORDER BY ';
|
|
91
|
-
s += query._orderings.map((ordering) => convertOrdering(ordering)).join(', ');
|
|
101
|
+
s += query._orderings.map((ordering: any) => convertOrdering(ordering)).join(', ');
|
|
92
102
|
}
|
|
93
103
|
if (query._limit != null) {
|
|
94
|
-
s += options.lineBreak + 'LIMIT ' +
|
|
104
|
+
s += options.lineBreak + 'LIMIT ' + number(query._limit);
|
|
95
105
|
}
|
|
96
106
|
if (query._offset != null) {
|
|
97
|
-
s += options.lineBreak + 'OFFSET ' +
|
|
107
|
+
s += options.lineBreak + 'OFFSET ' + number(query._offset);
|
|
98
108
|
}
|
|
99
109
|
return s;
|
|
100
110
|
}
|
|
101
|
-
|
|
111
|
+
|
|
112
|
+
function convertConditions(conditions: any[], keyword = 'WHERE'): string {
|
|
102
113
|
let s = '';
|
|
103
114
|
if (conditions && conditions.length > 0) {
|
|
104
115
|
s += options.lineBreak + keyword + ' ';
|
|
@@ -107,15 +118,18 @@ function createQueryConverter(paramConverter, options, engine) {
|
|
|
107
118
|
}
|
|
108
119
|
return s;
|
|
109
120
|
}
|
|
110
|
-
|
|
111
|
-
|
|
121
|
+
|
|
122
|
+
function convertJoin(joinChain: any): string {
|
|
123
|
+
let items: any[] = [];
|
|
112
124
|
while (joinChain) {
|
|
113
125
|
items.push(joinChain);
|
|
114
126
|
joinChain = joinChain._parent;
|
|
115
127
|
}
|
|
128
|
+
|
|
116
129
|
let root = items[items.length - 1];
|
|
117
130
|
let s = convertTable(root);
|
|
118
|
-
|
|
131
|
+
|
|
132
|
+
for (let i = items.length - 2; i >= 0; i-= 2) {
|
|
119
133
|
let table = items[i]._table;
|
|
120
134
|
let modifier = items[i]._modifier;
|
|
121
135
|
let condition = items[i - 1]._condition;
|
|
@@ -123,28 +137,32 @@ function createQueryConverter(paramConverter, options, engine) {
|
|
|
123
137
|
s += ' ' + modifier.toUpperCase() + ' JOIN ' + convertTable(table) + ' ON ' +
|
|
124
138
|
convertColumnCondition(condition, param);
|
|
125
139
|
}
|
|
140
|
+
|
|
126
141
|
return s;
|
|
127
142
|
}
|
|
128
|
-
|
|
143
|
+
|
|
144
|
+
function convertOrdering(ordering: any): string {
|
|
129
145
|
if (ordering._column) {
|
|
130
146
|
let s = convertColumn(ordering._column);
|
|
147
|
+
|
|
131
148
|
if (ordering._nullsPosition != null) { // "NULLS FIRST" only exists in PG, this is the general solution
|
|
132
149
|
s += ' IS NULL ' + (ordering._nullsPosition === 'FIRST' ? 'DESC' : 'ASC') + ', ' + s;
|
|
133
150
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
if (ordering._direction === 'DESC')
|
|
137
|
-
|
|
151
|
+
|
|
152
|
+
if (ordering._direction === 'ASC') s += ' ASC';
|
|
153
|
+
if (ordering._direction === 'DESC') s += ' DESC';
|
|
154
|
+
|
|
138
155
|
return s;
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
156
|
+
} else {
|
|
141
157
|
return convertColumn(ordering);
|
|
142
158
|
}
|
|
143
159
|
}
|
|
144
|
-
|
|
160
|
+
|
|
161
|
+
function convertTable(table: any): string {
|
|
145
162
|
return options.nameEscape + table._$name + options.nameEscape;
|
|
146
163
|
}
|
|
147
|
-
|
|
164
|
+
|
|
165
|
+
function convertColumn(column: any): string {
|
|
148
166
|
let s = '';
|
|
149
167
|
if (!(column._name === '*' && column._modifiers.length > 0 && column._modifiers[0].name === 'count')) {
|
|
150
168
|
s += convertTable(column._table) + '.';
|
|
@@ -152,37 +170,31 @@ function createQueryConverter(paramConverter, options, engine) {
|
|
|
152
170
|
s += convertColumnName(column);
|
|
153
171
|
return convertColumnModifiers(s, column);
|
|
154
172
|
}
|
|
155
|
-
|
|
173
|
+
|
|
174
|
+
function convertColumnModifiers(s: string, column: any): string {
|
|
156
175
|
if (column._modifiers) {
|
|
157
|
-
column._modifiers.forEach((modifier) => {
|
|
176
|
+
column._modifiers.forEach((modifier: any) => {
|
|
158
177
|
let name = modifier.name;
|
|
159
|
-
if (name === 'lower')
|
|
160
|
-
|
|
161
|
-
else if (name === '
|
|
162
|
-
|
|
163
|
-
else if (name === '
|
|
164
|
-
|
|
165
|
-
else if (name === '
|
|
166
|
-
|
|
167
|
-
else if (name === 'avg')
|
|
168
|
-
s = 'AVG(' + s + ')';
|
|
169
|
-
else if (name === 'min')
|
|
170
|
-
s = 'MIN(' + s + ')';
|
|
171
|
-
else if (name === 'max')
|
|
172
|
-
s = 'MAX(' + s + ')';
|
|
173
|
-
else if (name === 'as')
|
|
174
|
-
s = s + ' AS ' + options.nameEscape + modifier.params + options.nameEscape;
|
|
178
|
+
if (name === 'lower') s = 'LOWER(' + s + ')';
|
|
179
|
+
else if (name === 'upper') s = 'UPPER(' + s + ')';
|
|
180
|
+
else if (name === 'count') s = 'COUNT(' + s + ')';
|
|
181
|
+
else if (name === 'sum') s = 'SUM(' + s + ')';
|
|
182
|
+
else if (name === 'avg') s = 'AVG(' + s + ')';
|
|
183
|
+
else if (name === 'min') s = 'MIN(' + s + ')';
|
|
184
|
+
else if (name === 'max') s = 'MAX(' + s + ')';
|
|
185
|
+
else if (name === 'as') s = s + ' AS ' + options.nameEscape + modifier.params + options.nameEscape;
|
|
175
186
|
});
|
|
176
187
|
}
|
|
177
188
|
return s + '';
|
|
178
189
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
190
|
+
|
|
191
|
+
function convertColumnName(column: any): string {
|
|
192
|
+
if (column._name === '*') return column._name;
|
|
182
193
|
let name = typeof column._name === 'string' ? column._name : column._name.name;
|
|
183
194
|
return options.nameEscape + name + options.nameEscape;
|
|
184
195
|
}
|
|
185
|
-
|
|
196
|
+
|
|
197
|
+
function preprocessConditions(conditions: any[]): void {
|
|
186
198
|
conditions.forEach(condition => {
|
|
187
199
|
if (conditions.length > 1 && condition._sibling) {
|
|
188
200
|
condition._parenthesis = true;
|
|
@@ -190,8 +202,9 @@ function createQueryConverter(paramConverter, options, engine) {
|
|
|
190
202
|
preprocessParams(condition);
|
|
191
203
|
});
|
|
192
204
|
}
|
|
205
|
+
|
|
193
206
|
// this is only needed, so that the $1, $2... numbering is not reversed
|
|
194
|
-
function preprocessParams(condition) {
|
|
207
|
+
function preprocessParams(condition: any): void {
|
|
195
208
|
if (condition._sibling) {
|
|
196
209
|
preprocessParams(condition._sibling);
|
|
197
210
|
}
|
|
@@ -202,10 +215,12 @@ function createQueryConverter(paramConverter, options, engine) {
|
|
|
202
215
|
preprocessParams(condition._child);
|
|
203
216
|
}
|
|
204
217
|
}
|
|
205
|
-
|
|
218
|
+
|
|
219
|
+
function convertCondition(condition: any, root = false): string {
|
|
206
220
|
if (!condition._sibling && !condition._child) {
|
|
207
221
|
return convertColumnCondition(condition, condition.__param);
|
|
208
222
|
}
|
|
223
|
+
|
|
209
224
|
let s = '';
|
|
210
225
|
if (condition._child) {
|
|
211
226
|
s += convertCondition(condition._child);
|
|
@@ -221,12 +236,14 @@ function createQueryConverter(paramConverter, options, engine) {
|
|
|
221
236
|
}
|
|
222
237
|
return s;
|
|
223
238
|
}
|
|
224
|
-
|
|
239
|
+
|
|
240
|
+
function convertColumnCondition(condition: any, param: string): string {
|
|
225
241
|
let s = convertColumn(condition._column);
|
|
226
242
|
s += getConditionString(condition, param);
|
|
227
243
|
return s;
|
|
228
244
|
}
|
|
229
|
-
|
|
245
|
+
|
|
246
|
+
function getConditionString(condition: any, param: string): string {
|
|
230
247
|
switch (condition._type) {
|
|
231
248
|
case 'eq': return ' = ' + param;
|
|
232
249
|
case 'ne': return ' <> ' + param;
|
|
@@ -245,40 +262,35 @@ function createQueryConverter(paramConverter, options, engine) {
|
|
|
245
262
|
default: return '';
|
|
246
263
|
}
|
|
247
264
|
}
|
|
248
|
-
|
|
265
|
+
|
|
266
|
+
function getConditionParam(condition: any): string {
|
|
249
267
|
let param = '';
|
|
250
268
|
if (condition._otherColumn) {
|
|
251
269
|
param = convertColumn(condition._otherColumn);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
|
|
270
|
+
} else {
|
|
271
|
+
let _convertParam = (param: any) => convertParam(condition._column, param);
|
|
272
|
+
|
|
255
273
|
if (condition._type === 'in' || condition._type === 'not-in') {
|
|
256
|
-
param = condition._values.map((value) => _convertParam(value)).join(', ');
|
|
257
|
-
}
|
|
258
|
-
else if (condition._type === 'between' || condition._type === 'not-between') {
|
|
274
|
+
param = condition._values.map((value: any) => _convertParam(value)).join(', ');
|
|
275
|
+
} else if (condition._type === 'between' || condition._type === 'not-between') {
|
|
259
276
|
param = _convertParam(condition._values[0]) + ' AND ' + _convertParam(condition._values[1]);
|
|
260
|
-
}
|
|
261
|
-
else if (condition._type !== 'is-null' && condition._type !== 'is-not-null') {
|
|
277
|
+
} else if (condition._type !== 'is-null' && condition._type !== 'is-not-null') {
|
|
262
278
|
param = _convertParam(condition._values[0]);
|
|
263
279
|
}
|
|
264
280
|
}
|
|
265
281
|
return param;
|
|
266
282
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
283
|
+
|
|
284
|
+
function convertParam(column: any, param: any): string {
|
|
285
|
+
if (param == null) return 'NULL';
|
|
270
286
|
return paramConverter(getTypedParam(column._type, param));
|
|
271
287
|
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
else if (type === 'boolean')
|
|
276
|
-
|
|
277
|
-
else if (type === '
|
|
278
|
-
return (0, type_converter_1.date)(param);
|
|
279
|
-
else if (type === 'string')
|
|
280
|
-
return (0, type_converter_1.string)(param);
|
|
288
|
+
|
|
289
|
+
function getTypedParam(type: string, param: any): any {
|
|
290
|
+
if (type === 'number') return number(param);
|
|
291
|
+
else if (type === 'boolean') return boolean(param);
|
|
292
|
+
else if (type === 'date') return date(param);
|
|
293
|
+
else if (type === 'string') return string(param);
|
|
281
294
|
return param;
|
|
282
295
|
}
|
|
283
|
-
}
|
|
284
|
-
//# sourceMappingURL=query-converter.js.map
|
|
296
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { QueryEngine } from "./types";
|
|
2
|
+
|
|
3
|
+
export function convertResult(query: any, result: any, engine: QueryEngine): any {
|
|
4
|
+
let rows = engine === 'pg' ? result.rows : result;
|
|
5
|
+
let rowCount = engine === 'pg' ? result.rowCount : result.affectedRows || result.changedRows;
|
|
6
|
+
|
|
7
|
+
if (query._action === 'select') return convertSelectResult(query, rows);
|
|
8
|
+
if (query._action === 'delete') return rowCount;
|
|
9
|
+
if (query._action === 'update') return rowCount;
|
|
10
|
+
if (query._action === 'insert') return convertInsertResult(result, engine);
|
|
11
|
+
throw new Error('Unknown query type:' + query._action);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function convertInsertResult(result: any, engine: QueryEngine): any {
|
|
15
|
+
if (engine === 'mysql') return result.insertId > 0 ? result.insertId : undefined; // mysql returns 0 for tables that have a non-autoincrement ID
|
|
16
|
+
if (engine === 'pg' && result.rows && result.rows.length === 1) {
|
|
17
|
+
let columnName = Object.keys(result.rows[0])[0];
|
|
18
|
+
return result.rows[0][columnName];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function convertSelectResult(query: any, rows: any[]): any {
|
|
23
|
+
if (query._columns && query._columns.length === 1 &&
|
|
24
|
+
!(query._columns[0]._name === '*' && query._columns[0]._modifiers.length === 0)) {
|
|
25
|
+
if (rows.length == 0) return [];
|
|
26
|
+
let columnName = Object.keys(rows[0])[0]; // easier than reverse engineering from the column modifiers
|
|
27
|
+
let values = rows.map((row: any) => row[columnName]);
|
|
28
|
+
|
|
29
|
+
if (query._columns[0]._name === '*' && query._columns[0]._modifiers.some((m: any) => m.name === 'count')) {
|
|
30
|
+
return values.map((value: any) => Number(value)); // string to number conversion for PG count values
|
|
31
|
+
}
|
|
32
|
+
return values;
|
|
33
|
+
} else {
|
|
34
|
+
convertAliasFields(query, rows);
|
|
35
|
+
return rows;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function convertAliasFields(query: any, rows: any[]): void {
|
|
40
|
+
let aliasByName = getColumnAliasesByName(query);
|
|
41
|
+
if (Object.keys(aliasByName).length === 0) return;
|
|
42
|
+
|
|
43
|
+
rows.forEach((row: any) => {
|
|
44
|
+
Object.keys(row).forEach((name: string) => {
|
|
45
|
+
if (aliasByName[name]) {
|
|
46
|
+
row[aliasByName[name]] = row[name];
|
|
47
|
+
delete row[name];
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function getColumnAliasesByName(query: any): any {
|
|
54
|
+
let aliasByName = {} as any;
|
|
55
|
+
|
|
56
|
+
if (query._columns && query._columns.length > 0) {
|
|
57
|
+
query._columns.forEach((column: any) => {
|
|
58
|
+
if (column._name && column._name.alias && column._modifiers.length === 0) {
|
|
59
|
+
aliasByName[column._name.name] = column._name.alias;
|
|
60
|
+
} else if (column._name === '*' && column._modifiers.length === 0) {
|
|
61
|
+
getAliasColumnsOfTable(column._table).forEach((column: any) => {
|
|
62
|
+
aliasByName[column._name.name] = column._name.alias;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
} else {
|
|
67
|
+
let tables = query._table ? [query._table] : query._tables;
|
|
68
|
+
tables.forEach((table: any) => {
|
|
69
|
+
getAliasColumnsOfTable(table).forEach((column: any) => {
|
|
70
|
+
aliasByName[column._name.name] = column._name.alias;
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
let joinTable = table._parent;
|
|
74
|
+
while (joinTable) {
|
|
75
|
+
getAliasColumnsOfTable(joinTable).forEach((column: any) => {
|
|
76
|
+
aliasByName[column._name.name] = column._name.alias;
|
|
77
|
+
});
|
|
78
|
+
joinTable = joinTable._parent;
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return aliasByName;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function getAliasColumnsOfTable(table: any): any[] {
|
|
87
|
+
return Object.keys(table).map(key => table[key]).filter((column: any) => column && column._name && column._name.alias);
|
|
88
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import {createQueryConverter} from "./query-converter";
|
|
2
|
+
import {convertSubstitutionParam} from './param-converter';
|
|
3
|
+
import {QueryEngine, ConverterOptions} from "./types";
|
|
4
|
+
|
|
5
|
+
export function convertQueryToSQL(query: any, options: ConverterOptions, engine: QueryEngine): string {
|
|
6
|
+
return createQueryConverter((param: any) => convertSubstitutionParam(param), options, engine)(query);
|
|
7
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export function number(param: any): number {
|
|
2
|
+
let result = Number(param);
|
|
3
|
+
if (Number.isNaN(result)) throw new Error('Invalid number parameter in SQL query: ' + param);
|
|
4
|
+
return result;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export function boolean(param: any): boolean {
|
|
8
|
+
if (typeof param === 'boolean') return param;
|
|
9
|
+
if (param instanceof Boolean) return param.valueOf();
|
|
10
|
+
if (param === 'true') return true;
|
|
11
|
+
if (param === 'false') return false;
|
|
12
|
+
throw new Error('Invalid boolean parameter in SQL query: ' + param);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function date(param: any): Date {
|
|
16
|
+
if (param instanceof Date) return param; // @ts-ignore
|
|
17
|
+
if (typeof param === 'number' || param instanceof Number) return new Date(param);
|
|
18
|
+
if (typeof param === 'string' || param instanceof String) {
|
|
19
|
+
if (Number.isNaN(Date.parse(String(param)))) throw new Error('Invalid date parameter in SQL query: ' + param); // @ts-ignore
|
|
20
|
+
return new Date(param);
|
|
21
|
+
}
|
|
22
|
+
throw new Error('Invalid date parameter in SQL query: ' + param);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function string(param: any): string {
|
|
26
|
+
if (typeof param === 'string') return param;
|
|
27
|
+
if (param instanceof String) return param.valueOf();
|
|
28
|
+
throw new Error('Invalid string parameter in SQL query: ' + param);
|
|
29
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
2
|
+
export const ENV_ANGULAR_NODE_APP_WEBSITE_DOMAIN = 'taon-type-sql.example.domain.com';
|
|
3
|
+
export const ENV_ANGULAR_NODE_APP_WEBSITE_TITLE = 'Taon Type Sql';
|
|
4
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_TARGET_ARTIFACT = 'angular-node-app';
|
|
5
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NAME = '__';
|
|
6
|
+
export const ENV_ANGULAR_NODE_APP_CONTAINER_ONLY = undefined;
|
|
7
|
+
export const ENV_ANGULAR_NODE_APP_CONTAINER_END = undefined;
|
|
8
|
+
export const ENV_ANGULAR_NODE_APP_CONTAINER_START = undefined;
|
|
9
|
+
export const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP_RELEASED = undefined;
|
|
10
|
+
export const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP = undefined;
|
|
11
|
+
export const ENV_ANGULAR_NODE_APP_INIT_BRANDING = undefined;
|
|
12
|
+
export const ENV_ANGULAR_NODE_APP_INIT_STRUCT = undefined;
|
|
13
|
+
export const ENV_ANGULAR_NODE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;
|
|
14
|
+
export const ENV_ANGULAR_NODE_APP_BUILD_PWA_NAME = undefined;
|
|
15
|
+
export const ENV_ANGULAR_NODE_APP_BUILD_PWA_SHORT_NAME = undefined;
|
|
16
|
+
export const ENV_ANGULAR_NODE_APP_BUILD_PWA_START_URL = undefined;
|
|
17
|
+
export const ENV_ANGULAR_NODE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;
|
|
18
|
+
export const ENV_ANGULAR_NODE_APP_BUILD_SSR = undefined;
|
|
19
|
+
export const ENV_ANGULAR_NODE_APP_BUILD_WEBSQL = undefined;
|
|
20
|
+
export const ENV_ANGULAR_NODE_APP_BUILD_PROD = undefined;
|
|
21
|
+
export const ENV_ANGULAR_NODE_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;
|
|
22
|
+
export const ENV_ANGULAR_NODE_APP_BUILD_BASE_HREF = undefined;
|
|
23
|
+
export const ENV_ANGULAR_NODE_APP_BUILD_WATCH = undefined;
|
|
24
|
+
export const ENV_ANGULAR_NODE_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;
|
|
25
|
+
export const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;
|
|
26
|
+
export const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = undefined;
|
|
27
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_CLI_MINIFY = undefined;
|
|
28
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;
|
|
29
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_CLI_UGLIFY = undefined;
|
|
30
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_CLI_OBSCURE = undefined;
|
|
31
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_CLI_COMPRESS = undefined;
|
|
32
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;
|
|
33
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_LIB_REMOVE_DTS = undefined;
|
|
34
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;
|
|
35
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;
|
|
36
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;
|
|
37
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_LIB_COMPRESS = undefined;
|
|
38
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;
|
|
39
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;
|
|
40
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;
|
|
41
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NUMBER = undefined;
|
|
42
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_INSTALL_LOCALLY = undefined;
|
|
43
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;
|
|
44
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_TYPE = undefined;
|
|
45
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;
|
|
46
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;
|
|
47
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_TAON_INSTANCE_IP = undefined;
|
|
48
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;
|
|
49
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_DEPLOY = undefined;
|
|
50
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;
|
|
51
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;
|
|
52
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;
|
|
53
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_CODE_CUTTING = undefined;
|
|
54
|
+
export const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;
|
|
55
|
+
export const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;
|
|
56
|
+
export const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;
|
|
57
|
+
export const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;
|
|
58
|
+
export const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_SKIP = undefined;
|
|
59
|
+
export const ENV_ANGULAR_NODE_APP_WEBSITE_USE_DOMAIN = undefined;
|
|
60
|
+
export const ENV_ANGULAR_NODE_APP_PURPOSE = undefined;
|
|
61
|
+
export const ENV_ANGULAR_NODE_APP_RECURSIVE_ACTION = undefined;
|
|
62
|
+
export const ENV_ANGULAR_NODE_APP_IS_CI_PROCESS = undefined;
|
|
63
|
+
export const ENV_ANGULAR_NODE_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;
|
|
64
|
+
export const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_START_IN_ORDER = undefined;
|
|
65
|
+
export const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;
|
|
66
|
+
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
2
|
+
export const ENV_DOCS_WEBAPP_WEBSITE_DOMAIN = 'taon-type-sql.example.domain.com';
|
|
3
|
+
export const ENV_DOCS_WEBAPP_WEBSITE_TITLE = 'Taon Type Sql';
|
|
4
|
+
export const ENV_DOCS_WEBAPP_RELEASE_TARGET_ARTIFACT = 'docs-webapp';
|
|
5
|
+
export const ENV_DOCS_WEBAPP_RELEASE_ENV_NAME = '__';
|
|
6
|
+
export const ENV_DOCS_WEBAPP_CONTAINER_ONLY = undefined;
|
|
7
|
+
export const ENV_DOCS_WEBAPP_CONTAINER_END = undefined;
|
|
8
|
+
export const ENV_DOCS_WEBAPP_CONTAINER_START = undefined;
|
|
9
|
+
export const ENV_DOCS_WEBAPP_CONTAINER_SKIP_RELEASED = undefined;
|
|
10
|
+
export const ENV_DOCS_WEBAPP_CONTAINER_SKIP = undefined;
|
|
11
|
+
export const ENV_DOCS_WEBAPP_INIT_BRANDING = undefined;
|
|
12
|
+
export const ENV_DOCS_WEBAPP_INIT_STRUCT = undefined;
|
|
13
|
+
export const ENV_DOCS_WEBAPP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;
|
|
14
|
+
export const ENV_DOCS_WEBAPP_BUILD_PWA_NAME = undefined;
|
|
15
|
+
export const ENV_DOCS_WEBAPP_BUILD_PWA_SHORT_NAME = undefined;
|
|
16
|
+
export const ENV_DOCS_WEBAPP_BUILD_PWA_START_URL = undefined;
|
|
17
|
+
export const ENV_DOCS_WEBAPP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;
|
|
18
|
+
export const ENV_DOCS_WEBAPP_BUILD_SSR = undefined;
|
|
19
|
+
export const ENV_DOCS_WEBAPP_BUILD_WEBSQL = undefined;
|
|
20
|
+
export const ENV_DOCS_WEBAPP_BUILD_PROD = undefined;
|
|
21
|
+
export const ENV_DOCS_WEBAPP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;
|
|
22
|
+
export const ENV_DOCS_WEBAPP_BUILD_BASE_HREF = undefined;
|
|
23
|
+
export const ENV_DOCS_WEBAPP_BUILD_WATCH = undefined;
|
|
24
|
+
export const ENV_DOCS_WEBAPP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;
|
|
25
|
+
export const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;
|
|
26
|
+
export const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = undefined;
|
|
27
|
+
export const ENV_DOCS_WEBAPP_RELEASE_CLI_MINIFY = undefined;
|
|
28
|
+
export const ENV_DOCS_WEBAPP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;
|
|
29
|
+
export const ENV_DOCS_WEBAPP_RELEASE_CLI_UGLIFY = undefined;
|
|
30
|
+
export const ENV_DOCS_WEBAPP_RELEASE_CLI_OBSCURE = undefined;
|
|
31
|
+
export const ENV_DOCS_WEBAPP_RELEASE_CLI_COMPRESS = undefined;
|
|
32
|
+
export const ENV_DOCS_WEBAPP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;
|
|
33
|
+
export const ENV_DOCS_WEBAPP_RELEASE_LIB_REMOVE_DTS = undefined;
|
|
34
|
+
export const ENV_DOCS_WEBAPP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;
|
|
35
|
+
export const ENV_DOCS_WEBAPP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;
|
|
36
|
+
export const ENV_DOCS_WEBAPP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;
|
|
37
|
+
export const ENV_DOCS_WEBAPP_RELEASE_LIB_COMPRESS = undefined;
|
|
38
|
+
export const ENV_DOCS_WEBAPP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;
|
|
39
|
+
export const ENV_DOCS_WEBAPP_RELEASE_RESOLVED_NEW_VERSION = undefined;
|
|
40
|
+
export const ENV_DOCS_WEBAPP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;
|
|
41
|
+
export const ENV_DOCS_WEBAPP_RELEASE_ENV_NUMBER = undefined;
|
|
42
|
+
export const ENV_DOCS_WEBAPP_RELEASE_INSTALL_LOCALLY = undefined;
|
|
43
|
+
export const ENV_DOCS_WEBAPP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;
|
|
44
|
+
export const ENV_DOCS_WEBAPP_RELEASE_RELEASE_TYPE = undefined;
|
|
45
|
+
export const ENV_DOCS_WEBAPP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;
|
|
46
|
+
export const ENV_DOCS_WEBAPP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;
|
|
47
|
+
export const ENV_DOCS_WEBAPP_RELEASE_TAON_INSTANCE_IP = undefined;
|
|
48
|
+
export const ENV_DOCS_WEBAPP_RELEASE_SKIP_NPM_PUBLISH = undefined;
|
|
49
|
+
export const ENV_DOCS_WEBAPP_RELEASE_SKIP_DEPLOY = undefined;
|
|
50
|
+
export const ENV_DOCS_WEBAPP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;
|
|
51
|
+
export const ENV_DOCS_WEBAPP_RELEASE_SKIP_RELEASE_QUESTION = undefined;
|
|
52
|
+
export const ENV_DOCS_WEBAPP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;
|
|
53
|
+
export const ENV_DOCS_WEBAPP_RELEASE_SKIP_CODE_CUTTING = undefined;
|
|
54
|
+
export const ENV_DOCS_WEBAPP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;
|
|
55
|
+
export const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;
|
|
56
|
+
export const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;
|
|
57
|
+
export const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;
|
|
58
|
+
export const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_SKIP = undefined;
|
|
59
|
+
export const ENV_DOCS_WEBAPP_WEBSITE_USE_DOMAIN = undefined;
|
|
60
|
+
export const ENV_DOCS_WEBAPP_PURPOSE = undefined;
|
|
61
|
+
export const ENV_DOCS_WEBAPP_RECURSIVE_ACTION = undefined;
|
|
62
|
+
export const ENV_DOCS_WEBAPP_IS_CI_PROCESS = undefined;
|
|
63
|
+
export const ENV_DOCS_WEBAPP_DOCKER_ADDITIONAL_CONTAINER = undefined;
|
|
64
|
+
export const ENV_DOCS_WEBAPP_DOCKER_SKIP_START_IN_ORDER = undefined;
|
|
65
|
+
export const ENV_DOCS_WEBAPP_DOCKER_SKIP_USING_MYSQL_DB = undefined;
|
|
66
|
+
// THIS FILE IS GENERATED - DO NOT MODIFY
|