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 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
- var p = buildParam(i++);
185
- values.push(p);
186
- args.push(v);
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
- var p = buildParam(i++);
284
- values.push(p);
285
- args.push(v);
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
- x = buildParam(i++);
447
- args.push(v);
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
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
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
- function Loader(query, sql, m, bools) {
44
- this.query = query;
45
- this.sql = sql;
46
- this.bools = bools;
47
- this.map = m;
48
- this.load = this.load.bind(this);
49
- }
50
- Loader.prototype.load = function () {
51
- return this.query(this.sql, [], this.map, this.bools);
52
- };
53
- return Loader;
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
- if (!arr || arr.length === 0) {
58
- return [];
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
- else {
67
- if (typeof arr[i] === 'object') {
68
- if (arr[i] instanceof Date) {
69
- p.push(arr[i]);
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
- if (resource.string) {
73
- var s = JSON.stringify(arr[i]);
74
- p.push(s);
75
- }
76
- else {
77
- p.push(arr[i]);
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
- if (!m) {
91
- return obj;
92
- }
93
- var mkeys = Object.keys(m);
94
- if (mkeys.length === 0) {
95
- return obj;
96
- }
97
- var obj2 = {};
98
- var keys = Object.keys(obj);
99
- for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
100
- var key = keys_1[_i];
101
- var k0 = m[key];
102
- if (!k0) {
103
- k0 = key;
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[k0] = obj[key];
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
- return { list: list, total: total };
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "query-core",
3
- "version": "0.1.28",
3
+ "version": "0.1.30",
4
4
  "description": "query",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./src/index.ts",
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
- const p = buildParam(i++);
159
- values.push(p);
160
- args.push(v);
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
- const p = buildParam(i++);
244
- values.push(p);
245
- args.push(v);
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
- x = buildParam(i++);
384
- args.push(v);
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
- // tslint:disable-next-line:class-name
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
- return {list, total};
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
  }