query-core 0.1.28 → 0.1.30
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/README.md +1 -1
- package/lib/build.js +29 -8
- package/lib/index.js +55 -60
- package/lib/search.js +7 -1
- package/package.json +1 -1
- package/src/build.ts +25 -8
- package/src/index.ts +2 -4
- package/src/search.ts +6 -1
package/README.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
# query
|
|
1
|
+
# query-core
|
package/lib/build.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var resource = (function () {
|
|
4
|
+
function resource() {
|
|
5
|
+
}
|
|
6
|
+
return resource;
|
|
7
|
+
}());
|
|
8
|
+
exports.resource = resource;
|
|
3
9
|
function params(length, p, from) {
|
|
4
10
|
if (from === undefined || from == null) {
|
|
5
11
|
from = 0;
|
|
@@ -181,9 +187,14 @@ function buildToInsert(obj, table, attrs, buildParam, ver, i) {
|
|
|
181
187
|
}
|
|
182
188
|
}
|
|
183
189
|
else {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
190
|
+
if (resource.ignoreDatetime && typeof v === 'string' && attr.type === 'datetime') {
|
|
191
|
+
values.push("'" + v + "'");
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
var p = buildParam(i++);
|
|
195
|
+
values.push(p);
|
|
196
|
+
args.push(v);
|
|
197
|
+
}
|
|
187
198
|
}
|
|
188
199
|
}
|
|
189
200
|
}
|
|
@@ -280,9 +291,14 @@ function buildToInsertBatch(objs, table, attrs, buildParam, ver, i) {
|
|
|
280
291
|
}
|
|
281
292
|
}
|
|
282
293
|
else {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
294
|
+
if (resource.ignoreDatetime && typeof v === 'string' && attr.type === 'datetime') {
|
|
295
|
+
values.push("'" + v + "'");
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
var p = buildParam(i++);
|
|
299
|
+
values.push(p);
|
|
300
|
+
args.push(v);
|
|
301
|
+
}
|
|
286
302
|
}
|
|
287
303
|
}
|
|
288
304
|
}
|
|
@@ -443,8 +459,13 @@ function buildToUpdate(obj, table, attrs, buildParam, ver, i) {
|
|
|
443
459
|
}
|
|
444
460
|
}
|
|
445
461
|
else {
|
|
446
|
-
|
|
447
|
-
|
|
462
|
+
if (resource.ignoreDatetime && typeof v === 'string' && attr.type === 'datetime') {
|
|
463
|
+
x = "'" + v + "'";
|
|
464
|
+
}
|
|
465
|
+
else {
|
|
466
|
+
x = buildParam(i++);
|
|
467
|
+
args.push(v);
|
|
468
|
+
}
|
|
448
469
|
}
|
|
449
470
|
colSet.push(field + "=" + x);
|
|
450
471
|
}
|
package/lib/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
function __export(m) {
|
|
3
|
-
|
|
3
|
+
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
|
4
4
|
}
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
var health_1 = require("./health");
|
|
7
7
|
exports.SqlChecker = health_1.Checker;
|
|
8
|
+
var build_1 = require("./build");
|
|
8
9
|
var services_1 = require("./services");
|
|
9
10
|
exports.SqlViewRepository = services_1.SqlLoader;
|
|
10
11
|
exports.SqlLoadService = services_1.SqlLoader;
|
|
@@ -33,77 +34,71 @@ __export(require("./query"));
|
|
|
33
34
|
__export(require("./search"));
|
|
34
35
|
__export(require("./SearchBuilder"));
|
|
35
36
|
__export(require("./client"));
|
|
36
|
-
var resource = (function () {
|
|
37
|
-
function resource() {
|
|
38
|
-
}
|
|
39
|
-
return resource;
|
|
40
|
-
}());
|
|
41
|
-
exports.resource = resource;
|
|
42
37
|
var Loader = (function () {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
38
|
+
function Loader(query, sql, m, bools) {
|
|
39
|
+
this.query = query;
|
|
40
|
+
this.sql = sql;
|
|
41
|
+
this.bools = bools;
|
|
42
|
+
this.map = m;
|
|
43
|
+
this.load = this.load.bind(this);
|
|
44
|
+
}
|
|
45
|
+
Loader.prototype.load = function () {
|
|
46
|
+
return this.query(this.sql, [], this.map, this.bools);
|
|
47
|
+
};
|
|
48
|
+
return Loader;
|
|
54
49
|
}());
|
|
55
50
|
exports.Loader = Loader;
|
|
56
51
|
function toArray(arr) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
var p = [];
|
|
61
|
-
var l = arr.length;
|
|
62
|
-
for (var i = 0; i < l; i++) {
|
|
63
|
-
if (arr[i] === undefined || arr[i] == null) {
|
|
64
|
-
p.push(null);
|
|
52
|
+
if (!arr || arr.length === 0) {
|
|
53
|
+
return [];
|
|
65
54
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
55
|
+
var p = [];
|
|
56
|
+
var l = arr.length;
|
|
57
|
+
for (var i = 0; i < l; i++) {
|
|
58
|
+
if (arr[i] === undefined || arr[i] == null) {
|
|
59
|
+
p.push(null);
|
|
70
60
|
}
|
|
71
61
|
else {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
62
|
+
if (typeof arr[i] === 'object') {
|
|
63
|
+
if (arr[i] instanceof Date) {
|
|
64
|
+
p.push(arr[i]);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
if (build_1.resource.string) {
|
|
68
|
+
var s = JSON.stringify(arr[i]);
|
|
69
|
+
p.push(s);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
p.push(arr[i]);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
p.push(arr[i]);
|
|
78
|
+
}
|
|
79
79
|
}
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
p.push(arr[i]);
|
|
83
|
-
}
|
|
84
80
|
}
|
|
85
|
-
|
|
86
|
-
return p;
|
|
81
|
+
return p;
|
|
87
82
|
}
|
|
88
83
|
exports.toArray = toArray;
|
|
89
84
|
function map(obj, m) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
85
|
+
if (!m) {
|
|
86
|
+
return obj;
|
|
87
|
+
}
|
|
88
|
+
var mkeys = Object.keys(m);
|
|
89
|
+
if (mkeys.length === 0) {
|
|
90
|
+
return obj;
|
|
91
|
+
}
|
|
92
|
+
var obj2 = {};
|
|
93
|
+
var keys = Object.keys(obj);
|
|
94
|
+
for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
|
|
95
|
+
var key = keys_1[_i];
|
|
96
|
+
var k0 = m[key];
|
|
97
|
+
if (!k0) {
|
|
98
|
+
k0 = key;
|
|
99
|
+
}
|
|
100
|
+
obj2[k0] = obj[key];
|
|
104
101
|
}
|
|
105
|
-
obj2
|
|
106
|
-
}
|
|
107
|
-
return obj2;
|
|
102
|
+
return obj2;
|
|
108
103
|
}
|
|
109
104
|
exports.map = map;
|
package/lib/search.js
CHANGED
|
@@ -31,7 +31,13 @@ function buildFromQuery(query, sql, params, limit, offset, mp, bools, provider,
|
|
|
31
31
|
});
|
|
32
32
|
return Promise.all([resultPromise, countPromise]).then(function (r) {
|
|
33
33
|
var list = r[0], total = r[1];
|
|
34
|
-
|
|
34
|
+
if (typeof total === 'string' && !isNaN(total)) {
|
|
35
|
+
var t = parseInt(total, 10);
|
|
36
|
+
return { list: list, total: t };
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return { list: list, total: total };
|
|
40
|
+
}
|
|
35
41
|
});
|
|
36
42
|
}
|
|
37
43
|
}
|
package/package.json
CHANGED
package/src/build.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import {Attribute, Attributes, Statement, StringMap} from './metadata';
|
|
2
2
|
|
|
3
|
+
// tslint:disable-next-line:class-name
|
|
4
|
+
export class resource {
|
|
5
|
+
static string?: boolean;
|
|
6
|
+
static ignoreDatetime?: boolean;
|
|
7
|
+
}
|
|
3
8
|
export function params(length: number, p: (i: number) => string, from?: number): string[] {
|
|
4
9
|
if (from === undefined || from == null) {
|
|
5
10
|
from = 0;
|
|
@@ -155,9 +160,13 @@ export function buildToInsert<T>(obj: T, table: string, attrs: Attributes, build
|
|
|
155
160
|
}
|
|
156
161
|
}
|
|
157
162
|
} else {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
163
|
+
if (resource.ignoreDatetime && typeof v === 'string' && attr.type === 'datetime') {
|
|
164
|
+
values.push(`'${v}'`);
|
|
165
|
+
} else {
|
|
166
|
+
const p = buildParam(i++);
|
|
167
|
+
values.push(p);
|
|
168
|
+
args.push(v);
|
|
169
|
+
}
|
|
161
170
|
}
|
|
162
171
|
}
|
|
163
172
|
}
|
|
@@ -240,9 +249,13 @@ export function buildToInsertBatch<T>(objs: T[], table: string, attrs: Attribute
|
|
|
240
249
|
}
|
|
241
250
|
}
|
|
242
251
|
} else {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
252
|
+
if (resource.ignoreDatetime && typeof v === 'string' && attr.type === 'datetime') {
|
|
253
|
+
values.push(`'${v}'`);
|
|
254
|
+
} else {
|
|
255
|
+
const p = buildParam(i++);
|
|
256
|
+
values.push(p);
|
|
257
|
+
args.push(v);
|
|
258
|
+
}
|
|
246
259
|
}
|
|
247
260
|
}
|
|
248
261
|
}
|
|
@@ -380,8 +393,12 @@ export function buildToUpdate<T>(obj: T, table: string, attrs: Attributes, build
|
|
|
380
393
|
}
|
|
381
394
|
}
|
|
382
395
|
} else {
|
|
383
|
-
|
|
384
|
-
|
|
396
|
+
if (resource.ignoreDatetime && typeof v === 'string' && attr.type === 'datetime') {
|
|
397
|
+
x = `'${v}'`;
|
|
398
|
+
} else {
|
|
399
|
+
x = buildParam(i++);
|
|
400
|
+
args.push(v);
|
|
401
|
+
}
|
|
385
402
|
}
|
|
386
403
|
colSet.push(`${field}=${x}`);
|
|
387
404
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {Checker} from './health';
|
|
2
2
|
export {Checker as SqlChecker};
|
|
3
3
|
|
|
4
|
+
import {resource} from './build';
|
|
4
5
|
import {Attribute, StringMap} from './metadata';
|
|
5
6
|
import {SqlLoader, SqlSearchLoader, SqlSearchWriter, SqlWriter} from './services';
|
|
6
7
|
// export {SqlLoader as SqlLoadRepository};
|
|
@@ -50,10 +51,7 @@ export interface Config {
|
|
|
50
51
|
min?: number | undefined;
|
|
51
52
|
idleTimeoutMillis?: number | undefined;
|
|
52
53
|
}
|
|
53
|
-
|
|
54
|
-
export class resource {
|
|
55
|
-
static string?: boolean;
|
|
56
|
-
}
|
|
54
|
+
|
|
57
55
|
// tslint:disable-next-line:max-classes-per-file
|
|
58
56
|
export class Loader<T> {
|
|
59
57
|
map?: StringMap;
|
package/src/search.ts
CHANGED
|
@@ -32,7 +32,12 @@ export function buildFromQuery<T>(query: <K>(sql: string, args?: any[], m?: Stri
|
|
|
32
32
|
});
|
|
33
33
|
return Promise.all([resultPromise, countPromise]).then(r => {
|
|
34
34
|
const [list, total] = r;
|
|
35
|
-
|
|
35
|
+
if (typeof total === 'string' && !isNaN(total)) {
|
|
36
|
+
const t = parseInt(total, 10);
|
|
37
|
+
return {list, total: t};
|
|
38
|
+
} else {
|
|
39
|
+
return {list, total};
|
|
40
|
+
}
|
|
36
41
|
});
|
|
37
42
|
}
|
|
38
43
|
}
|