taon-type-sql 21.0.27 → 21.0.28
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_.d.ts +24 -0
- package/lib-prod/build-info._auto-generated_.js +30 -0
- package/lib-prod/build-info._auto-generated_.js.map +1 -0
- package/lib-prod/builder/column/basic-column.d.ts +8 -0
- package/lib-prod/builder/column/basic-column.js +15 -0
- package/lib-prod/builder/column/basic-column.js.map +1 -0
- package/lib-prod/builder/column/boolean-column.d.ts +9 -0
- package/lib-prod/builder/column/boolean-column.js +15 -0
- package/lib-prod/builder/column/boolean-column.js.map +1 -0
- package/lib-prod/builder/column/comparable-column.d.ts +18 -0
- package/lib-prod/builder/column/comparable-column.js +42 -0
- package/lib-prod/builder/column/comparable-column.js.map +1 -0
- package/lib-prod/builder/column/date-column.d.ts +9 -0
- package/lib-prod/builder/column/date-column.js +15 -0
- package/lib-prod/builder/column/date-column.js.map +1 -0
- package/lib-prod/builder/column/number-column.d.ts +10 -0
- package/lib-prod/builder/column/number-column.js +20 -0
- package/lib-prod/builder/column/number-column.js.map +1 -0
- package/lib-prod/builder/column/query-column.d.ts +18 -0
- package/lib-prod/builder/column/query-column.js +26 -0
- package/lib-prod/builder/column/query-column.js.map +1 -0
- package/lib-prod/builder/column/string-column.d.ts +17 -0
- package/lib-prod/builder/column/string-column.js +37 -0
- package/lib-prod/builder/column/string-column.js.map +1 -0
- package/lib-prod/builder/column/value-column.d.ts +15 -0
- package/lib-prod/builder/column/value-column.js +30 -0
- package/lib-prod/builder/column/value-column.js.map +1 -0
- package/lib-prod/builder/condition/query-column-condition.d.ts +13 -0
- package/lib-prod/builder/condition/query-column-condition.js +23 -0
- package/lib-prod/builder/condition/query-column-condition.js.map +1 -0
- package/lib-prod/builder/condition/query-condition-chain.d.ts +17 -0
- package/lib-prod/builder/condition/query-condition-chain.js +34 -0
- package/lib-prod/builder/condition/query-condition-chain.js.map +1 -0
- package/lib-prod/builder/condition/query-condition.d.ts +7 -0
- package/lib-prod/builder/condition/query-condition.js +7 -0
- package/lib-prod/builder/condition/query-condition.js.map +1 -0
- package/lib-prod/builder/condition/query-join-condition.d.ts +12 -0
- package/lib-prod/builder/condition/query-join-condition.js +23 -0
- package/lib-prod/builder/condition/query-join-condition.js.map +1 -0
- package/lib-prod/builder/helpers/generics-helper.d.ts +2 -0
- package/lib-prod/builder/helpers/generics-helper.js +7 -0
- package/lib-prod/builder/helpers/generics-helper.js.map +1 -0
- package/lib-prod/builder/helpers/internal-types.d.ts +15 -0
- package/lib-prod/builder/helpers/internal-types.js +4 -0
- package/lib-prod/builder/helpers/internal-types.js.map +1 -0
- package/lib-prod/builder/join/joined-tables-chain.d.ts +11 -0
- package/lib-prod/builder/join/joined-tables-chain.js +18 -0
- package/lib-prod/builder/join/joined-tables-chain.js.map +1 -0
- package/lib-prod/builder/join/joined-tables.d.ts +12 -0
- package/lib-prod/builder/join/joined-tables.js +25 -0
- package/lib-prod/builder/join/joined-tables.js.map +1 -0
- package/lib-prod/builder/other/query-ordering.d.ts +10 -0
- package/lib-prod/builder/other/query-ordering.js +21 -0
- package/lib-prod/builder/other/query-ordering.js.map +1 -0
- package/lib-prod/builder/query/select-query.d.ts +29 -0
- package/lib-prod/builder/query/select-query.js +54 -0
- package/lib-prod/builder/query/select-query.js.map +1 -0
- package/lib-prod/builder/query/table-condition-query.d.ts +16 -0
- package/lib-prod/builder/query/table-condition-query.js +31 -0
- package/lib-prod/builder/query/table-condition-query.js.map +1 -0
- package/lib-prod/builder/query/table-query.d.ts +23 -0
- package/lib-prod/builder/query/table-query.js +60 -0
- package/lib-prod/builder/query/table-query.js.map +1 -0
- package/lib-prod/builder/query-source.d.ts +14 -0
- package/lib-prod/builder/query-source.js +22 -0
- package/lib-prod/builder/query-source.js.map +1 -0
- package/lib-prod/builder/query-table.d.ts +15 -0
- package/lib-prod/builder/query-table.js +28 -0
- package/lib-prod/builder/query-table.js.map +1 -0
- package/lib-prod/client/mysql.d.ts +5 -0
- package/lib-prod/client/mysql.js +11 -0
- package/lib-prod/client/mysql.js.map +1 -0
- package/lib-prod/client/pg.d.ts +5 -0
- package/lib-prod/client/pg.js +11 -0
- package/lib-prod/client/pg.js.map +1 -0
- package/lib-prod/client/query-processor.d.ts +10 -0
- package/lib-prod/client/query-processor.js +73 -0
- package/lib-prod/client/query-processor.js.map +1 -0
- package/lib-prod/converter/param-converter.d.ts +2 -0
- package/lib-prod/converter/param-converter.js +31 -0
- package/lib-prod/converter/param-converter.js.map +1 -0
- package/lib-prod/converter/parameterized-converter.d.ts +5 -0
- package/lib-prod/converter/parameterized-converter.js +18 -0
- package/lib-prod/converter/parameterized-converter.js.map +1 -0
- package/lib-prod/converter/query-converter.d.ts +2 -0
- package/lib-prod/converter/query-converter.js +284 -0
- package/lib-prod/converter/query-converter.js.map +1 -0
- package/lib-prod/converter/result-converter.d.ts +2 -0
- package/lib-prod/converter/result-converter.js +89 -0
- package/lib-prod/converter/result-converter.js.map +1 -0
- package/lib-prod/converter/sql-converter.d.ts +2 -0
- package/lib-prod/converter/sql-converter.js +9 -0
- package/lib-prod/converter/sql-converter.js.map +1 -0
- package/lib-prod/converter/type-converter.d.ts +4 -0
- package/lib-prod/converter/type-converter.js +43 -0
- package/lib-prod/converter/type-converter.js.map +1 -0
- package/lib-prod/converter/types.d.ts +5 -0
- package/lib-prod/converter/types.js +3 -0
- package/lib-prod/converter/types.js.map +1 -0
- package/lib-prod/env/env.angular-node-app.d.ts +64 -0
- package/lib-prod/env/env.angular-node-app.js +71 -0
- package/lib-prod/env/env.angular-node-app.js.map +1 -0
- package/lib-prod/env/env.docs-webapp.d.ts +64 -0
- package/lib-prod/env/env.docs-webapp.js +71 -0
- package/lib-prod/env/env.docs-webapp.js.map +1 -0
- package/lib-prod/env/env.electron-app.d.ts +64 -0
- package/lib-prod/env/env.electron-app.js +71 -0
- package/lib-prod/env/env.electron-app.js.map +1 -0
- package/lib-prod/env/env.mobile-app.d.ts +64 -0
- package/lib-prod/env/env.mobile-app.js +71 -0
- package/lib-prod/env/env.mobile-app.js.map +1 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +64 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +71 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib-prod/env/env.vscode-plugin.d.ts +64 -0
- package/lib-prod/env/env.vscode-plugin.js +71 -0
- package/lib-prod/env/env.vscode-plugin.js.map +1 -0
- package/lib-prod/env/index.d.ts +6 -0
- package/lib-prod/env/index.js +23 -0
- package/lib-prod/env/index.js.map +1 -0
- package/lib-prod/index._auto-generated_.d.ts +0 -0
- package/lib-prod/index._auto-generated_.js +6 -0
- package/lib-prod/index._auto-generated_.js.map +1 -0
- package/lib-prod/index.d.ts +25 -0
- package/lib-prod/index.js +48 -0
- package/lib-prod/index.js.map +1 -0
- package/lib-prod/migrations/index.d.ts +1 -0
- package/lib-prod/migrations/index.js +19 -0
- package/lib-prod/migrations/index.js.map +1 -0
- package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +0 -0
- package/lib-prod/migrations/migrations_index._auto-generated_.js +4 -0
- package/lib-prod/migrations/migrations_index._auto-generated_.js.map +1 -0
- 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
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertSubstitutionParam = convertSubstitutionParam;
|
|
4
|
+
exports.convertEscapedParam = convertEscapedParam;
|
|
5
|
+
function convertSubstitutionParam(param) {
|
|
6
|
+
if (param == null)
|
|
7
|
+
return 'NULL';
|
|
8
|
+
if (typeof param === 'string' || param instanceof String) {
|
|
9
|
+
return `'${String(param)}'`;
|
|
10
|
+
}
|
|
11
|
+
else if (typeof param === 'boolean' || param instanceof Boolean) {
|
|
12
|
+
return String(param).toUpperCase();
|
|
13
|
+
}
|
|
14
|
+
else if (param instanceof Date) {
|
|
15
|
+
return `'${param.toISOString()}'`;
|
|
16
|
+
}
|
|
17
|
+
else if (typeof param === 'number' || param instanceof Number) {
|
|
18
|
+
return String(param);
|
|
19
|
+
}
|
|
20
|
+
return `'${JSON.stringify(param)}'`;
|
|
21
|
+
}
|
|
22
|
+
// node mysql doesn't have an typeCast equivalent solution for the other direction
|
|
23
|
+
// node-postgres: https://github.com/brianc/node-postgres/issues/442
|
|
24
|
+
function convertEscapedParam(param) {
|
|
25
|
+
if (typeof param === 'object' && !(param == null || param instanceof String || param instanceof Number ||
|
|
26
|
+
param instanceof Boolean || param instanceof Date)) {
|
|
27
|
+
return JSON.stringify(param);
|
|
28
|
+
}
|
|
29
|
+
return param;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=param-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"param-converter.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;AACA,4DAYC;AAID,kDAMC;AAtBD,SAAgB,wBAAwB,CAAC,KAAU;IAC/C,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QACvD,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;IAChC,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAChE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;SAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC/B,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;IACtC,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,kFAAkF;AAClF,oEAAoE;AACpE,SAAgB,mBAAmB,CAAC,KAAU;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,YAAY,MAAM,IAAI,KAAK,YAAY,MAAM;QAClG,KAAK,YAAY,OAAO,IAAI,KAAK,YAAY,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertQueryToParameterizedSQL = convertQueryToParameterizedSQL;
|
|
4
|
+
const query_converter_1 = require("./query-converter");
|
|
5
|
+
const param_converter_1 = require("./param-converter");
|
|
6
|
+
let pgParamConverter = (index) => '$' + index;
|
|
7
|
+
let mySqlParamConverter = (index) => '?';
|
|
8
|
+
function convertSingleParam(param, params, paramConverter) {
|
|
9
|
+
params.push((0, param_converter_1.convertEscapedParam)(param));
|
|
10
|
+
return paramConverter(params.length);
|
|
11
|
+
}
|
|
12
|
+
function convertQueryToParameterizedSQL(query, options, engine) {
|
|
13
|
+
let params = [];
|
|
14
|
+
let paramConverter = engine === 'mysql' ? mySqlParamConverter : pgParamConverter;
|
|
15
|
+
let sql = (0, query_converter_1.createQueryConverter)((param) => convertSingleParam(param, params, paramConverter), options, engine)(query);
|
|
16
|
+
return { sql, params };
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=parameterized-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameterized-converter.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;AAYA,wEAOC;AAnBD,uDAAuD;AACvD,uDAAsD;AAGtD,IAAI,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC;AACtD,IAAI,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,CAAC;AAEjD,SAAS,kBAAkB,CAAC,KAAU,EAAE,MAAa,EAAE,cAAsC;IACzF,MAAM,CAAC,IAAI,CAAC,IAAA,qCAAmB,EAAC,KAAK,CAAC,CAAC,CAAC;IACxC,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,8BAA8B,CAAC,KAAU,EAAE,OAAyB,EAAE,MAAmB;IACrG,IAAI,MAAM,GAAU,EAAE,CAAC;IAEvB,IAAI,cAAc,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACjF,IAAI,GAAG,GAAG,IAAA,sCAAoB,EAAC,CAAC,KAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;IAE1H,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createQueryConverter = createQueryConverter;
|
|
4
|
+
const type_converter_1 = require("./type-converter");
|
|
5
|
+
function createQueryConverter(paramConverter, options, engine) {
|
|
6
|
+
return convertQuery;
|
|
7
|
+
function convertQuery(query) {
|
|
8
|
+
if (query._action === 'select')
|
|
9
|
+
return convertSelectQuery(query);
|
|
10
|
+
if (query._action === 'delete')
|
|
11
|
+
return convertDeleteQuery(query);
|
|
12
|
+
if (query._action === 'update')
|
|
13
|
+
return convertUpdateQuery(query);
|
|
14
|
+
if (query._action === 'insert')
|
|
15
|
+
return convertInsertQuery(query);
|
|
16
|
+
throw new Error('Unknown query type:' + query._action);
|
|
17
|
+
}
|
|
18
|
+
function convertDeleteQuery(query) {
|
|
19
|
+
let s = 'DELETE FROM ' + convertTable(query._table);
|
|
20
|
+
s += convertConditions(query._conditions);
|
|
21
|
+
return s;
|
|
22
|
+
}
|
|
23
|
+
function convertUpdateQuery(query) {
|
|
24
|
+
let s = 'UPDATE ' + convertTable(query._table) + ' SET ';
|
|
25
|
+
s += convertUpdateSetters(query._table, query._entity);
|
|
26
|
+
s += convertConditions(query._conditions);
|
|
27
|
+
return s;
|
|
28
|
+
}
|
|
29
|
+
function convertUpdateSetters(table, entity) {
|
|
30
|
+
return Object.keys(entity).sort().map(key => {
|
|
31
|
+
let value = entity[key];
|
|
32
|
+
let column = table[key];
|
|
33
|
+
return convertColumnName(column) + ' = ' + convertParam(column, value);
|
|
34
|
+
}).join(', ');
|
|
35
|
+
}
|
|
36
|
+
function convertInsertQuery(query) {
|
|
37
|
+
let items = Array.isArray(query._entity) ? query._entity : [query._entity];
|
|
38
|
+
let keySet = items.reduce((set, item) => {
|
|
39
|
+
Object.keys(item).forEach(key => set.add(key));
|
|
40
|
+
return set;
|
|
41
|
+
}, new Set());
|
|
42
|
+
let keys = Array.from(keySet).sort();
|
|
43
|
+
let s = 'INSERT INTO ' + convertTable(query._table) + ' ';
|
|
44
|
+
s += '(' + keys.map(key => convertColumnName(query._table[key])).join(', ') + ')';
|
|
45
|
+
s += options.lineBreak + 'VALUES ';
|
|
46
|
+
s += items.map(item => convertInsertItem(query._table, item, keys))
|
|
47
|
+
.map((row) => '(' + row + ')').join(', ');
|
|
48
|
+
s += getPgInsertReturningIfNeeded(query);
|
|
49
|
+
return s;
|
|
50
|
+
}
|
|
51
|
+
function getPgInsertReturningIfNeeded(query) {
|
|
52
|
+
if (engine === 'pg' && query._action === 'insert' && !Array.isArray(query._entity) &&
|
|
53
|
+
query._table.$id && query._table.$id._table && query._table.$id._name) {
|
|
54
|
+
return ' RETURNING ' + convertColumnName(query._table.$id);
|
|
55
|
+
}
|
|
56
|
+
return '';
|
|
57
|
+
}
|
|
58
|
+
function convertInsertItem(table, entity, keys) {
|
|
59
|
+
return keys.map(key => {
|
|
60
|
+
let value = entity[key];
|
|
61
|
+
let column = table[key];
|
|
62
|
+
return convertParam(column, value);
|
|
63
|
+
}).join(', ');
|
|
64
|
+
}
|
|
65
|
+
function convertSelectQuery(query) {
|
|
66
|
+
let s = 'SELECT ';
|
|
67
|
+
if (query._distinct) {
|
|
68
|
+
s += 'DISTINCT ';
|
|
69
|
+
}
|
|
70
|
+
if (query._columns == null || query._columns.length === 0) {
|
|
71
|
+
s += '*';
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
s += query._columns.map((column) => convertColumn(column)).join(', ');
|
|
75
|
+
}
|
|
76
|
+
s += options.lineBreak + 'FROM ';
|
|
77
|
+
if (query._tables) {
|
|
78
|
+
s += query._tables.map((table) => table._parent ? convertJoin(table) : convertTable(table)).join(', ');
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
s += convertTable(query._table);
|
|
82
|
+
}
|
|
83
|
+
s += convertConditions(query._conditions);
|
|
84
|
+
if (query._groupBy && query._groupBy.length > 0) {
|
|
85
|
+
s += options.lineBreak + 'GROUP BY ';
|
|
86
|
+
s += query._groupBy.map((column) => convertColumn(column)).join(', ');
|
|
87
|
+
}
|
|
88
|
+
s += convertConditions(query._having, 'HAVING');
|
|
89
|
+
if (query._orderings && query._orderings.length > 0) {
|
|
90
|
+
s += options.lineBreak + 'ORDER BY ';
|
|
91
|
+
s += query._orderings.map((ordering) => convertOrdering(ordering)).join(', ');
|
|
92
|
+
}
|
|
93
|
+
if (query._limit != null) {
|
|
94
|
+
s += options.lineBreak + 'LIMIT ' + (0, type_converter_1.number)(query._limit);
|
|
95
|
+
}
|
|
96
|
+
if (query._offset != null) {
|
|
97
|
+
s += options.lineBreak + 'OFFSET ' + (0, type_converter_1.number)(query._offset);
|
|
98
|
+
}
|
|
99
|
+
return s;
|
|
100
|
+
}
|
|
101
|
+
function convertConditions(conditions, keyword = 'WHERE') {
|
|
102
|
+
let s = '';
|
|
103
|
+
if (conditions && conditions.length > 0) {
|
|
104
|
+
s += options.lineBreak + keyword + ' ';
|
|
105
|
+
preprocessConditions(conditions);
|
|
106
|
+
s += conditions.map(condition => convertCondition(condition, true)).join(' AND ');
|
|
107
|
+
}
|
|
108
|
+
return s;
|
|
109
|
+
}
|
|
110
|
+
function convertJoin(joinChain) {
|
|
111
|
+
let items = [];
|
|
112
|
+
while (joinChain) {
|
|
113
|
+
items.push(joinChain);
|
|
114
|
+
joinChain = joinChain._parent;
|
|
115
|
+
}
|
|
116
|
+
let root = items[items.length - 1];
|
|
117
|
+
let s = convertTable(root);
|
|
118
|
+
for (let i = items.length - 2; i >= 0; i -= 2) {
|
|
119
|
+
let table = items[i]._table;
|
|
120
|
+
let modifier = items[i]._modifier;
|
|
121
|
+
let condition = items[i - 1]._condition;
|
|
122
|
+
let param = convertColumn(condition._otherColumn);
|
|
123
|
+
s += ' ' + modifier.toUpperCase() + ' JOIN ' + convertTable(table) + ' ON ' +
|
|
124
|
+
convertColumnCondition(condition, param);
|
|
125
|
+
}
|
|
126
|
+
return s;
|
|
127
|
+
}
|
|
128
|
+
function convertOrdering(ordering) {
|
|
129
|
+
if (ordering._column) {
|
|
130
|
+
let s = convertColumn(ordering._column);
|
|
131
|
+
if (ordering._nullsPosition != null) { // "NULLS FIRST" only exists in PG, this is the general solution
|
|
132
|
+
s += ' IS NULL ' + (ordering._nullsPosition === 'FIRST' ? 'DESC' : 'ASC') + ', ' + s;
|
|
133
|
+
}
|
|
134
|
+
if (ordering._direction === 'ASC')
|
|
135
|
+
s += ' ASC';
|
|
136
|
+
if (ordering._direction === 'DESC')
|
|
137
|
+
s += ' DESC';
|
|
138
|
+
return s;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
return convertColumn(ordering);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function convertTable(table) {
|
|
145
|
+
return options.nameEscape + table._$name + options.nameEscape;
|
|
146
|
+
}
|
|
147
|
+
function convertColumn(column) {
|
|
148
|
+
let s = '';
|
|
149
|
+
if (!(column._name === '*' && column._modifiers.length > 0 && column._modifiers[0].name === 'count')) {
|
|
150
|
+
s += convertTable(column._table) + '.';
|
|
151
|
+
}
|
|
152
|
+
s += convertColumnName(column);
|
|
153
|
+
return convertColumnModifiers(s, column);
|
|
154
|
+
}
|
|
155
|
+
function convertColumnModifiers(s, column) {
|
|
156
|
+
if (column._modifiers) {
|
|
157
|
+
column._modifiers.forEach((modifier) => {
|
|
158
|
+
let name = modifier.name;
|
|
159
|
+
if (name === 'lower')
|
|
160
|
+
s = 'LOWER(' + s + ')';
|
|
161
|
+
else if (name === 'upper')
|
|
162
|
+
s = 'UPPER(' + s + ')';
|
|
163
|
+
else if (name === 'count')
|
|
164
|
+
s = 'COUNT(' + s + ')';
|
|
165
|
+
else if (name === 'sum')
|
|
166
|
+
s = 'SUM(' + s + ')';
|
|
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;
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
return s + '';
|
|
178
|
+
}
|
|
179
|
+
function convertColumnName(column) {
|
|
180
|
+
if (column._name === '*')
|
|
181
|
+
return column._name;
|
|
182
|
+
let name = typeof column._name === 'string' ? column._name : column._name.name;
|
|
183
|
+
return options.nameEscape + name + options.nameEscape;
|
|
184
|
+
}
|
|
185
|
+
function preprocessConditions(conditions) {
|
|
186
|
+
conditions.forEach(condition => {
|
|
187
|
+
if (conditions.length > 1 && condition._sibling) {
|
|
188
|
+
condition._parenthesis = true;
|
|
189
|
+
}
|
|
190
|
+
preprocessParams(condition);
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
// this is only needed, so that the $1, $2... numbering is not reversed
|
|
194
|
+
function preprocessParams(condition) {
|
|
195
|
+
if (condition._sibling) {
|
|
196
|
+
preprocessParams(condition._sibling);
|
|
197
|
+
}
|
|
198
|
+
if (!condition._sibling && !condition._child) {
|
|
199
|
+
condition.__param = getConditionParam(condition);
|
|
200
|
+
}
|
|
201
|
+
if (condition._child) {
|
|
202
|
+
preprocessParams(condition._child);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
function convertCondition(condition, root = false) {
|
|
206
|
+
if (!condition._sibling && !condition._child) {
|
|
207
|
+
return convertColumnCondition(condition, condition.__param);
|
|
208
|
+
}
|
|
209
|
+
let s = '';
|
|
210
|
+
if (condition._child) {
|
|
211
|
+
s += convertCondition(condition._child);
|
|
212
|
+
}
|
|
213
|
+
if (condition._sibling) {
|
|
214
|
+
s = convertCondition(condition._sibling, root) + ' ' + condition._chainType.toUpperCase() + ' ' + s;
|
|
215
|
+
}
|
|
216
|
+
if (condition._parenthesis || ((!root || condition._negation) && condition._child)) {
|
|
217
|
+
s = '( ' + s + ' )';
|
|
218
|
+
}
|
|
219
|
+
if (condition._negation) {
|
|
220
|
+
s = 'NOT ' + s;
|
|
221
|
+
}
|
|
222
|
+
return s;
|
|
223
|
+
}
|
|
224
|
+
function convertColumnCondition(condition, param) {
|
|
225
|
+
let s = convertColumn(condition._column);
|
|
226
|
+
s += getConditionString(condition, param);
|
|
227
|
+
return s;
|
|
228
|
+
}
|
|
229
|
+
function getConditionString(condition, param) {
|
|
230
|
+
switch (condition._type) {
|
|
231
|
+
case 'eq': return ' = ' + param;
|
|
232
|
+
case 'ne': return ' <> ' + param;
|
|
233
|
+
case 'lt': return ' < ' + param;
|
|
234
|
+
case 'gt': return ' > ' + param;
|
|
235
|
+
case 'lte': return ' <= ' + param;
|
|
236
|
+
case 'gte': return ' >= ' + param;
|
|
237
|
+
case 'is-null': return ' IS NULL';
|
|
238
|
+
case 'is-not-null': return ' IS NOT NULL';
|
|
239
|
+
case 'like': return ' LIKE ' + param;
|
|
240
|
+
case 'not-like': return ' NOT LIKE ' + param;
|
|
241
|
+
case 'in': return ' IN (' + param + ')';
|
|
242
|
+
case 'not-in': return ' NOT IN (' + param + ')';
|
|
243
|
+
case 'between': return ' BETWEEN ' + param;
|
|
244
|
+
case 'not-between': return ' NOT BETWEEN ' + param;
|
|
245
|
+
default: return '';
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
function getConditionParam(condition) {
|
|
249
|
+
let param = '';
|
|
250
|
+
if (condition._otherColumn) {
|
|
251
|
+
param = convertColumn(condition._otherColumn);
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
let _convertParam = (param) => convertParam(condition._column, param);
|
|
255
|
+
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') {
|
|
259
|
+
param = _convertParam(condition._values[0]) + ' AND ' + _convertParam(condition._values[1]);
|
|
260
|
+
}
|
|
261
|
+
else if (condition._type !== 'is-null' && condition._type !== 'is-not-null') {
|
|
262
|
+
param = _convertParam(condition._values[0]);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return param;
|
|
266
|
+
}
|
|
267
|
+
function convertParam(column, param) {
|
|
268
|
+
if (param == null)
|
|
269
|
+
return 'NULL';
|
|
270
|
+
return paramConverter(getTypedParam(column._type, param));
|
|
271
|
+
}
|
|
272
|
+
function getTypedParam(type, param) {
|
|
273
|
+
if (type === 'number')
|
|
274
|
+
return (0, type_converter_1.number)(param);
|
|
275
|
+
else if (type === 'boolean')
|
|
276
|
+
return (0, type_converter_1.boolean)(param);
|
|
277
|
+
else if (type === 'date')
|
|
278
|
+
return (0, type_converter_1.date)(param);
|
|
279
|
+
else if (type === 'string')
|
|
280
|
+
return (0, type_converter_1.string)(param);
|
|
281
|
+
return param;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
//# sourceMappingURL=query-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-converter.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertResult = convertResult;
|
|
4
|
+
function convertResult(query, result, engine) {
|
|
5
|
+
let rows = engine === 'pg' ? result.rows : result;
|
|
6
|
+
let rowCount = engine === 'pg' ? result.rowCount : result.affectedRows || result.changedRows;
|
|
7
|
+
if (query._action === 'select')
|
|
8
|
+
return convertSelectResult(query, rows);
|
|
9
|
+
if (query._action === 'delete')
|
|
10
|
+
return rowCount;
|
|
11
|
+
if (query._action === 'update')
|
|
12
|
+
return rowCount;
|
|
13
|
+
if (query._action === 'insert')
|
|
14
|
+
return convertInsertResult(result, engine);
|
|
15
|
+
throw new Error('Unknown query type:' + query._action);
|
|
16
|
+
}
|
|
17
|
+
function convertInsertResult(result, engine) {
|
|
18
|
+
if (engine === 'mysql')
|
|
19
|
+
return result.insertId > 0 ? result.insertId : undefined; // mysql returns 0 for tables that have a non-autoincrement ID
|
|
20
|
+
if (engine === 'pg' && result.rows && result.rows.length === 1) {
|
|
21
|
+
let columnName = Object.keys(result.rows[0])[0];
|
|
22
|
+
return result.rows[0][columnName];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function convertSelectResult(query, rows) {
|
|
26
|
+
if (query._columns && query._columns.length === 1 &&
|
|
27
|
+
!(query._columns[0]._name === '*' && query._columns[0]._modifiers.length === 0)) {
|
|
28
|
+
if (rows.length == 0)
|
|
29
|
+
return [];
|
|
30
|
+
let columnName = Object.keys(rows[0])[0]; // easier than reverse engineering from the column modifiers
|
|
31
|
+
let values = rows.map((row) => row[columnName]);
|
|
32
|
+
if (query._columns[0]._name === '*' && query._columns[0]._modifiers.some((m) => m.name === 'count')) {
|
|
33
|
+
return values.map((value) => Number(value)); // string to number conversion for PG count values
|
|
34
|
+
}
|
|
35
|
+
return values;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
convertAliasFields(query, rows);
|
|
39
|
+
return rows;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function convertAliasFields(query, rows) {
|
|
43
|
+
let aliasByName = getColumnAliasesByName(query);
|
|
44
|
+
if (Object.keys(aliasByName).length === 0)
|
|
45
|
+
return;
|
|
46
|
+
rows.forEach((row) => {
|
|
47
|
+
Object.keys(row).forEach((name) => {
|
|
48
|
+
if (aliasByName[name]) {
|
|
49
|
+
row[aliasByName[name]] = row[name];
|
|
50
|
+
delete row[name];
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function getColumnAliasesByName(query) {
|
|
56
|
+
let aliasByName = {};
|
|
57
|
+
if (query._columns && query._columns.length > 0) {
|
|
58
|
+
query._columns.forEach((column) => {
|
|
59
|
+
if (column._name && column._name.alias && column._modifiers.length === 0) {
|
|
60
|
+
aliasByName[column._name.name] = column._name.alias;
|
|
61
|
+
}
|
|
62
|
+
else if (column._name === '*' && column._modifiers.length === 0) {
|
|
63
|
+
getAliasColumnsOfTable(column._table).forEach((column) => {
|
|
64
|
+
aliasByName[column._name.name] = column._name.alias;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
let tables = query._table ? [query._table] : query._tables;
|
|
71
|
+
tables.forEach((table) => {
|
|
72
|
+
getAliasColumnsOfTable(table).forEach((column) => {
|
|
73
|
+
aliasByName[column._name.name] = column._name.alias;
|
|
74
|
+
});
|
|
75
|
+
let joinTable = table._parent;
|
|
76
|
+
while (joinTable) {
|
|
77
|
+
getAliasColumnsOfTable(joinTable).forEach((column) => {
|
|
78
|
+
aliasByName[column._name.name] = column._name.alias;
|
|
79
|
+
});
|
|
80
|
+
joinTable = joinTable._parent;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
return aliasByName;
|
|
85
|
+
}
|
|
86
|
+
function getAliasColumnsOfTable(table) {
|
|
87
|
+
return Object.keys(table).map(key => table[key]).filter((column) => column && column._name && column._name.alias);
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=result-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result-converter.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertQueryToSQL = convertQueryToSQL;
|
|
4
|
+
const query_converter_1 = require("./query-converter");
|
|
5
|
+
const param_converter_1 = require("./param-converter");
|
|
6
|
+
function convertQueryToSQL(query, options, engine) {
|
|
7
|
+
return (0, query_converter_1.createQueryConverter)((param) => (0, param_converter_1.convertSubstitutionParam)(param), options, engine)(query);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=sql-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-converter.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;AAIA,8CAEC;AAND,uDAAuD;AACvD,uDAA2D;AAG3D,SAAgB,iBAAiB,CAAC,KAAU,EAAE,OAAyB,EAAE,MAAmB;IACxF,OAAO,IAAA,sCAAoB,EAAC,CAAC,KAAU,EAAE,EAAE,CAAC,IAAA,0CAAwB,EAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;AACzG,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.number = number;
|
|
4
|
+
exports.boolean = boolean;
|
|
5
|
+
exports.date = date;
|
|
6
|
+
exports.string = string;
|
|
7
|
+
function number(param) {
|
|
8
|
+
let result = Number(param);
|
|
9
|
+
if (Number.isNaN(result))
|
|
10
|
+
throw new Error('Invalid number parameter in SQL query: ' + param);
|
|
11
|
+
return result;
|
|
12
|
+
}
|
|
13
|
+
function boolean(param) {
|
|
14
|
+
if (typeof param === 'boolean')
|
|
15
|
+
return param;
|
|
16
|
+
if (param instanceof Boolean)
|
|
17
|
+
return param.valueOf();
|
|
18
|
+
if (param === 'true')
|
|
19
|
+
return true;
|
|
20
|
+
if (param === 'false')
|
|
21
|
+
return false;
|
|
22
|
+
throw new Error('Invalid boolean parameter in SQL query: ' + param);
|
|
23
|
+
}
|
|
24
|
+
function date(param) {
|
|
25
|
+
if (param instanceof Date)
|
|
26
|
+
return param; // @ts-ignore
|
|
27
|
+
if (typeof param === 'number' || param instanceof Number)
|
|
28
|
+
return new Date(param);
|
|
29
|
+
if (typeof param === 'string' || param instanceof String) {
|
|
30
|
+
if (Number.isNaN(Date.parse(String(param))))
|
|
31
|
+
throw new Error('Invalid date parameter in SQL query: ' + param); // @ts-ignore
|
|
32
|
+
return new Date(param);
|
|
33
|
+
}
|
|
34
|
+
throw new Error('Invalid date parameter in SQL query: ' + param);
|
|
35
|
+
}
|
|
36
|
+
function string(param) {
|
|
37
|
+
if (typeof param === 'string')
|
|
38
|
+
return param;
|
|
39
|
+
if (param instanceof String)
|
|
40
|
+
return param.valueOf();
|
|
41
|
+
throw new Error('Invalid string parameter in SQL query: ' + param);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=type-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-converter.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;AACA,wBAIC;AAED,0BAMC;AAED,oBAQC;AAED,wBAIC;AA5BD,SAAgB,MAAM,CAAC,KAAU;IAC/B,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,KAAK,CAAC,CAAC;IAC7F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,OAAO,CAAC,KAAU;IAChC,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,KAAK,YAAY,OAAO;QAAE,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACrD,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,IAAI,CAAC,KAAU;IAC7B,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC,aAAa;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM;QAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IACjF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QACzD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,KAAK,CAAC,CAAC,CAAC,aAAa;QAC5H,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,SAAgB,MAAM,CAAC,KAAU;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,YAAY,MAAM;QAAE,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACpD,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,KAAK,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":[""],"names":[],"mappings":""}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export declare const ENV_ANGULAR_NODE_APP_WEBSITE_DOMAIN = "taon-type-sql.example.domain.com";
|
|
2
|
+
export declare const ENV_ANGULAR_NODE_APP_WEBSITE_TITLE = "Taon Type Sql";
|
|
3
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_TARGET_ARTIFACT = "angular-node-app";
|
|
4
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NAME = "__";
|
|
5
|
+
export declare const ENV_ANGULAR_NODE_APP_CONTAINER_ONLY: any;
|
|
6
|
+
export declare const ENV_ANGULAR_NODE_APP_CONTAINER_END: any;
|
|
7
|
+
export declare const ENV_ANGULAR_NODE_APP_CONTAINER_START: any;
|
|
8
|
+
export declare const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP_RELEASED: any;
|
|
9
|
+
export declare const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP: any;
|
|
10
|
+
export declare const ENV_ANGULAR_NODE_APP_INIT_BRANDING: any;
|
|
11
|
+
export declare const ENV_ANGULAR_NODE_APP_INIT_STRUCT: any;
|
|
12
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER: any;
|
|
13
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_PWA_NAME: any;
|
|
14
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_PWA_SHORT_NAME: any;
|
|
15
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_PWA_START_URL: any;
|
|
16
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS: any;
|
|
17
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_SSR: any;
|
|
18
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_WEBSQL: any;
|
|
19
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_PROD: any;
|
|
20
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_OVERRIDE_OUTPUT_PATH: any;
|
|
21
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_BASE_HREF: any;
|
|
22
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_WATCH: any;
|
|
23
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_GEN_ONLY_CLIENT_CODE: any;
|
|
24
|
+
export declare const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER: any;
|
|
25
|
+
export declare const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND: any;
|
|
26
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_MINIFY: any;
|
|
27
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES: any;
|
|
28
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_UGLIFY: any;
|
|
29
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_OBSCURE: any;
|
|
30
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_COMPRESS: any;
|
|
31
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_NODE_BACKEND_APP_MINIFY: any;
|
|
32
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_REMOVE_DTS: any;
|
|
33
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE: any;
|
|
34
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE: any;
|
|
35
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS: any;
|
|
36
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_COMPRESS: any;
|
|
37
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES: any;
|
|
38
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_RESOLVED_NEW_VERSION: any;
|
|
39
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE: any;
|
|
40
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NUMBER: any;
|
|
41
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_INSTALL_LOCALLY: any;
|
|
42
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL: any;
|
|
43
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_TYPE: any;
|
|
44
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG: any;
|
|
45
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_TASK_NAME: any;
|
|
46
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_TAON_INSTANCE_IP: any;
|
|
47
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_NPM_PUBLISH: any;
|
|
48
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_DEPLOY: any;
|
|
49
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_TAG_GIT_PUSH: any;
|
|
50
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RELEASE_QUESTION: any;
|
|
51
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES: any;
|
|
52
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_CODE_CUTTING: any;
|
|
53
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS: any;
|
|
54
|
+
export declare const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK: any;
|
|
55
|
+
export declare const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS: any;
|
|
56
|
+
export declare const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS: any;
|
|
57
|
+
export declare const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_SKIP: any;
|
|
58
|
+
export declare const ENV_ANGULAR_NODE_APP_WEBSITE_USE_DOMAIN: any;
|
|
59
|
+
export declare const ENV_ANGULAR_NODE_APP_PURPOSE: any;
|
|
60
|
+
export declare const ENV_ANGULAR_NODE_APP_RECURSIVE_ACTION: any;
|
|
61
|
+
export declare const ENV_ANGULAR_NODE_APP_IS_CI_PROCESS: any;
|
|
62
|
+
export declare const ENV_ANGULAR_NODE_APP_DOCKER_ADDITIONAL_CONTAINER: any;
|
|
63
|
+
export declare const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_START_IN_ORDER: any;
|
|
64
|
+
export declare const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_USING_MYSQL_DB: any;
|