taon-type-sql 21.0.21 → 21.0.23
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_.js +14 -30
- package/lib-prod/builder/column/basic-column.js +12 -14
- package/lib-prod/builder/column/boolean-column.js +13 -14
- package/lib-prod/builder/column/comparable-column.js +41 -41
- package/lib-prod/builder/column/date-column.js +13 -14
- package/lib-prod/builder/column/number-column.js +18 -19
- package/lib-prod/builder/column/query-column.js +22 -24
- package/lib-prod/builder/column/string-column.js +35 -36
- package/lib-prod/builder/column/value-column.js +27 -28
- package/lib-prod/builder/condition/query-column-condition.js +21 -22
- package/lib-prod/builder/condition/query-condition-chain.js +32 -33
- package/lib-prod/builder/condition/query-condition.js +4 -5
- package/lib-prod/builder/condition/query-join-condition.js +21 -22
- package/lib-prod/builder/helpers/generics-helper.js +3 -5
- package/lib-prod/builder/helpers/internal-types.js +0 -4
- package/lib-prod/builder/join/joined-tables-chain.js +12 -16
- package/lib-prod/builder/join/joined-tables.js +20 -23
- package/lib-prod/builder/other/query-ordering.js +18 -19
- package/lib-prod/builder/query/select-query.js +49 -52
- package/lib-prod/builder/query/table-condition-query.js +25 -29
- package/lib-prod/builder/query/table-query.js +52 -58
- package/lib-prod/builder/query-source.js +16 -20
- package/lib-prod/builder/query-table.js +25 -26
- package/lib-prod/client/mysql.js +9 -10
- package/lib-prod/client/pg.js +9 -10
- package/lib-prod/client/query-processor.js +39 -68
- package/lib-prod/converter/param-converter.js +19 -27
- package/lib-prod/converter/parameterized-converter.js +13 -14
- package/lib-prod/converter/query-converter.js +243 -259
- package/lib-prod/converter/result-converter.js +61 -73
- package/lib-prod/converter/sql-converter.js +6 -7
- package/lib-prod/converter/type-converter.js +24 -35
- package/lib-prod/converter/types.js +0 -3
- package/lib-prod/env/env.angular-node-app.js +130 -71
- package/lib-prod/env/env.docs-webapp.js +130 -71
- package/lib-prod/env/env.electron-app.js +130 -71
- package/lib-prod/env/env.mobile-app.js +130 -71
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +130 -71
- package/lib-prod/env/env.vscode-plugin.js +130 -71
- package/lib-prod/env/index.js +6 -23
- package/lib-prod/index._auto-generated_.js +0 -6
- package/lib-prod/index.js +46 -48
- package/lib-prod/migrations/index.js +1 -19
- package/lib-prod/migrations/migrations_index._auto-generated_.js +0 -4
- 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.map +0 -1
- package/lib-prod/builder/column/basic-column.d.ts +0 -8
- 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.map +0 -1
- package/lib-prod/builder/column/comparable-column.d.ts +0 -18
- 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.map +0 -1
- package/lib-prod/builder/column/number-column.d.ts +0 -10
- 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.map +0 -1
- package/lib-prod/builder/column/string-column.d.ts +0 -17
- 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.map +0 -1
- package/lib-prod/builder/condition/query-column-condition.d.ts +0 -13
- 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.map +0 -1
- package/lib-prod/builder/condition/query-condition.d.ts +0 -7
- package/lib-prod/builder/condition/query-condition.js.map +0 -1
- package/lib-prod/builder/condition/query-join-condition.d.ts +0 -12
- 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.map +0 -1
- package/lib-prod/builder/helpers/internal-types.d.ts +0 -15
- 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.map +0 -1
- package/lib-prod/builder/join/joined-tables.d.ts +0 -12
- package/lib-prod/builder/join/joined-tables.js.map +0 -1
- package/lib-prod/builder/other/query-ordering.d.ts +0 -10
- 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.map +0 -1
- package/lib-prod/builder/query/table-condition-query.d.ts +0 -16
- 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.map +0 -1
- package/lib-prod/builder/query-source.d.ts +0 -14
- 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.map +0 -1
- package/lib-prod/client/mysql.d.ts +0 -5
- package/lib-prod/client/mysql.js.map +0 -1
- package/lib-prod/client/pg.d.ts +0 -5
- 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.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.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.map +0 -1
- package/lib-prod/converter/sql-converter.d.ts +0 -2
- 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.map +0 -1
- package/lib-prod/converter/types.d.ts +0 -5
- 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.map +0 -1
- package/lib-prod/env/env.docs-webapp.d.ts +0 -64
- 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.map +0 -1
- package/lib-prod/env/env.mobile-app.d.ts +0 -64
- 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.map +0 -1
- package/lib-prod/env/env.vscode-plugin.d.ts +0 -64
- package/lib-prod/env/env.vscode-plugin.js.map +0 -1
- package/lib-prod/env/index.d.ts +0 -6
- 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.d.ts +0 -25
- package/lib-prod/index.js.map +0 -1
- package/lib-prod/migrations/index.d.ts +0 -1
- 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
|
@@ -1,73 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { Log } from "ng2-logger/lib-prod";
|
|
2
|
+
import { convertQueryToParameterizedSQL } from "../converter/parameterized-converter";
|
|
3
|
+
import { convertQueryToSQL } from "../converter/sql-converter";
|
|
4
|
+
const log = Log.create(
|
|
5
|
+
"query processor"
|
|
6
|
+
// Level.__NOTHING
|
|
7
|
+
);
|
|
8
8
|
const DEFAULT_OPTIONS = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
lineBreaks: false,
|
|
10
|
+
parameterized: true,
|
|
11
|
+
logging: true,
|
|
12
|
+
identifierQuote: '"'
|
|
13
13
|
};
|
|
14
14
|
function mySqlTypeCast(field, next) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return value == null ? null : JSON.parse(value);
|
|
26
|
-
}
|
|
27
|
-
return next();
|
|
15
|
+
if (field.type == "TINY" && field.length == 1) {
|
|
16
|
+
let value = field.string();
|
|
17
|
+
if (value == "1") return true;
|
|
18
|
+
if (value == "0") return false;
|
|
19
|
+
return null;
|
|
20
|
+
} else if (field.type == "JSON") {
|
|
21
|
+
let value = field.string();
|
|
22
|
+
return value == null ? null : JSON.parse(value);
|
|
23
|
+
}
|
|
24
|
+
return next();
|
|
28
25
|
}
|
|
29
|
-
function createQueryProcessor(client, _options = {}, engine =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// }
|
|
45
|
-
// function executeSql(sql: string, params: any[] | undefined, cb: any) {
|
|
46
|
-
// if (engine === 'pg') {
|
|
47
|
-
// client.query(sql, params || cb, params ? cb : undefined);
|
|
48
|
-
// } else if (engine === 'mysql') {
|
|
49
|
-
// client.query({
|
|
50
|
-
// sql,
|
|
51
|
-
// values: params,
|
|
52
|
-
// typeCast: mySqlTypeCast
|
|
53
|
-
// }, cb);
|
|
54
|
-
// } else throw new Error('Unknown DB engine: ' + engine);
|
|
55
|
-
// }
|
|
56
|
-
return (query) => {
|
|
57
|
-
if (options.parameterized) {
|
|
58
|
-
let { sql, params } = (0, parameterized_converter_1.convertQueryToParameterizedSQL)(query, queryOptions, engine);
|
|
59
|
-
// if (Helpers.isWebSQL || Helpers.isNode) {
|
|
60
|
-
return client.query(sql, params);
|
|
61
|
-
// }
|
|
62
|
-
// return processSql(query, sql, params, (sql: string, params: any[], cb: any) => executeSql(sql, params, cb));
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
let sql = (0, sql_converter_1.convertQueryToSQL)(query, queryOptions, engine);
|
|
66
|
-
// if (Helpers.isWebSQL || Helpers.isNode) {
|
|
67
|
-
return client.query(sql, undefined);
|
|
68
|
-
// }
|
|
69
|
-
// return processSql(query, sql, undefined, (sql: string, params: undefined, cb: any) => executeSql(sql, undefined, cb));
|
|
70
|
-
}
|
|
71
|
-
};
|
|
26
|
+
function createQueryProcessor(client, _options = {}, engine = "pg") {
|
|
27
|
+
let options = Object.assign({}, DEFAULT_OPTIONS, _options);
|
|
28
|
+
let queryOptions = {
|
|
29
|
+
lineBreak: options.lineBreaks ? "\n" : " ",
|
|
30
|
+
nameEscape: _options.identifierQuote || (engine === "mysql" ? "`" : '"')
|
|
31
|
+
};
|
|
32
|
+
return (query) => {
|
|
33
|
+
if (options.parameterized) {
|
|
34
|
+
let { sql, params } = convertQueryToParameterizedSQL(query, queryOptions, engine);
|
|
35
|
+
return client.query(sql, params);
|
|
36
|
+
} else {
|
|
37
|
+
let sql = convertQueryToSQL(query, queryOptions, engine);
|
|
38
|
+
return client.query(sql, void 0);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
72
41
|
}
|
|
73
|
-
|
|
42
|
+
export {
|
|
43
|
+
createQueryProcessor
|
|
44
|
+
};
|
|
@@ -1,31 +1,23 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertSubstitutionParam = convertSubstitutionParam;
|
|
4
|
-
exports.convertEscapedParam = convertEscapedParam;
|
|
5
1
|
function convertSubstitutionParam(param) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
else if (typeof param === 'number' || param instanceof Number) {
|
|
18
|
-
return String(param);
|
|
19
|
-
}
|
|
20
|
-
return `'${JSON.stringify(param)}'`;
|
|
2
|
+
if (param == null) return "NULL";
|
|
3
|
+
if (typeof param === "string" || param instanceof String) {
|
|
4
|
+
return `'${String(param)}'`;
|
|
5
|
+
} else if (typeof param === "boolean" || param instanceof Boolean) {
|
|
6
|
+
return String(param).toUpperCase();
|
|
7
|
+
} else if (param instanceof Date) {
|
|
8
|
+
return `'${param.toISOString()}'`;
|
|
9
|
+
} else if (typeof param === "number" || param instanceof Number) {
|
|
10
|
+
return String(param);
|
|
11
|
+
}
|
|
12
|
+
return `'${JSON.stringify(param)}'`;
|
|
21
13
|
}
|
|
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
14
|
function convertEscapedParam(param) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return param;
|
|
15
|
+
if (typeof param === "object" && !(param == null || param instanceof String || param instanceof Number || param instanceof Boolean || param instanceof Date)) {
|
|
16
|
+
return JSON.stringify(param);
|
|
17
|
+
}
|
|
18
|
+
return param;
|
|
30
19
|
}
|
|
31
|
-
|
|
20
|
+
export {
|
|
21
|
+
convertEscapedParam,
|
|
22
|
+
convertSubstitutionParam
|
|
23
|
+
};
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const param_converter_1 = require("./param-converter");
|
|
6
|
-
let pgParamConverter = (index) => '$' + index;
|
|
7
|
-
let mySqlParamConverter = (index) => '?';
|
|
1
|
+
import { createQueryConverter } from "./query-converter";
|
|
2
|
+
import { convertEscapedParam } from "./param-converter";
|
|
3
|
+
let pgParamConverter = (index) => "$" + index;
|
|
4
|
+
let mySqlParamConverter = (index) => "?";
|
|
8
5
|
function convertSingleParam(param, params, paramConverter) {
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
params.push(convertEscapedParam(param));
|
|
7
|
+
return paramConverter(params.length);
|
|
11
8
|
}
|
|
12
9
|
function convertQueryToParameterizedSQL(query, options, engine) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
let params = [];
|
|
11
|
+
let paramConverter = engine === "mysql" ? mySqlParamConverter : pgParamConverter;
|
|
12
|
+
let sql = createQueryConverter((param) => convertSingleParam(param, params, paramConverter), options, engine)(query);
|
|
13
|
+
return { sql, params };
|
|
17
14
|
}
|
|
18
|
-
|
|
15
|
+
export {
|
|
16
|
+
convertQueryToParameterizedSQL
|
|
17
|
+
};
|