query-core 0.1.5 → 0.1.9
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/lib/SearchBuilder.js +16 -8
- package/lib/batch.js +1 -1
- package/lib/build.js +211 -98
- package/lib/client.js +180 -0
- package/lib/index.js +15 -70
- package/lib/map.js +75 -0
- package/lib/query.js +25 -9
- package/lib/search.js +4 -1
- package/lib/services.js +65 -23
- package/package.json +1 -1
- package/src/SearchBuilder.ts +23 -14
- package/src/batch.ts +2 -2
- package/src/build.ts +185 -84
- package/src/client.ts +202 -0
- package/src/index.ts +30 -64
- package/src/map.ts +67 -0
- package/src/query.ts +26 -12
- package/src/search.ts +11 -8
- package/src/services.ts +91 -31
- package/tsconfig.json +1 -0
package/lib/SearchBuilder.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
var build_1 = require("./build");
|
|
4
4
|
var query_1 = require("./query");
|
|
5
5
|
var search_1 = require("./search");
|
|
6
|
-
exports.
|
|
6
|
+
exports.postgres = 'postgres';
|
|
7
7
|
exports.mssql = 'mssql';
|
|
8
8
|
exports.mysql = 'mysql';
|
|
9
9
|
exports.sqlite = 'sqlite';
|
|
@@ -33,7 +33,7 @@ var SearchBuilder = (function () {
|
|
|
33
33
|
if (provider === search_1.oracle) {
|
|
34
34
|
this.buildParam = query_1.buildOracleParam;
|
|
35
35
|
}
|
|
36
|
-
else if (provider === exports.
|
|
36
|
+
else if (provider === exports.postgres) {
|
|
37
37
|
this.buildParam = query_1.buildDollarParam;
|
|
38
38
|
}
|
|
39
39
|
else if (provider === exports.mssql) {
|
|
@@ -45,17 +45,25 @@ var SearchBuilder = (function () {
|
|
|
45
45
|
}
|
|
46
46
|
this.total = (total && total.length > 0 ? total : 'total');
|
|
47
47
|
}
|
|
48
|
-
SearchBuilder.prototype.search = function (s, limit,
|
|
49
|
-
var
|
|
48
|
+
SearchBuilder.prototype.search = function (s, limit, offset, fields) {
|
|
49
|
+
var skip = 0;
|
|
50
|
+
if (typeof offset === 'number' && offset > 0) {
|
|
51
|
+
skip = offset;
|
|
52
|
+
}
|
|
50
53
|
var st = (this.sort ? this.sort : 'sort');
|
|
51
54
|
var sn = s[st];
|
|
52
55
|
delete s[st];
|
|
53
|
-
var x = (this.provider === exports.
|
|
54
|
-
var q2 =
|
|
55
|
-
if (
|
|
56
|
+
var x = (this.provider === exports.postgres ? 'ilike' : this.buildParam);
|
|
57
|
+
var q2 = this.buildQuery(s, x, this.table, this.attributes, sn, fields, this.q, this.excluding, this.buildSort);
|
|
58
|
+
if (!q2) {
|
|
59
|
+
throw new Error('Cannot build query');
|
|
60
|
+
}
|
|
61
|
+
var fn = this.fromDB;
|
|
62
|
+
if (fn) {
|
|
56
63
|
return search_1.buildFromQuery(this.query, q2.query, q2.params, limit, skip, this.map, this.bools, this.provider, this.total).then(function (r) {
|
|
57
64
|
if (r.list && r.list.length > 0) {
|
|
58
|
-
r.list = r.list.map(function (o) { return
|
|
65
|
+
r.list = r.list.map(function (o) { return fn(o); });
|
|
66
|
+
return r;
|
|
59
67
|
}
|
|
60
68
|
else {
|
|
61
69
|
return r;
|
package/lib/batch.js
CHANGED
|
@@ -91,7 +91,7 @@ var SqlBatchInserter = (function () {
|
|
|
91
91
|
list.push(obj2);
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
-
var stmt = build_1.buildToInsertBatch(list, this.table, this.attributes, this.param);
|
|
94
|
+
var stmt = build_1.buildToInsertBatch(list, this.table, this.attributes, this.param, this.version);
|
|
95
95
|
if (stmt) {
|
|
96
96
|
return this.exec(stmt.query, stmt.params);
|
|
97
97
|
}
|
package/lib/build.js
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function params(length, p, from) {
|
|
4
|
+
if (from === undefined || from == null) {
|
|
5
|
+
from = 0;
|
|
6
|
+
}
|
|
7
|
+
var ps = [];
|
|
8
|
+
for (var i = 1; i <= length; i++) {
|
|
9
|
+
ps.push(p(i + from));
|
|
10
|
+
}
|
|
11
|
+
return ps;
|
|
12
|
+
}
|
|
13
|
+
exports.params = params;
|
|
3
14
|
function select(obj, table, ks, buildParam, i) {
|
|
4
15
|
if (!i) {
|
|
5
16
|
i = 1;
|
|
@@ -20,15 +31,17 @@ function select(obj, table, ks, buildParam, i) {
|
|
|
20
31
|
var args = [];
|
|
21
32
|
for (var _i = 0, ks_1 = ks; _i < ks_1.length; _i++) {
|
|
22
33
|
var k = ks_1[_i];
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
34
|
+
if (k.name) {
|
|
35
|
+
var field = (k.field ? k.field : k.name);
|
|
36
|
+
cols.push(field + " = " + buildParam(i++));
|
|
37
|
+
args.push(obj[k.name]);
|
|
38
|
+
}
|
|
26
39
|
}
|
|
27
40
|
var query = "select * from " + table + " where " + cols.join(' and ');
|
|
28
41
|
return { query: query, params: args };
|
|
29
42
|
}
|
|
30
43
|
else {
|
|
31
|
-
return
|
|
44
|
+
return undefined;
|
|
32
45
|
}
|
|
33
46
|
}
|
|
34
47
|
exports.select = select;
|
|
@@ -55,15 +68,17 @@ function exist(obj, table, ks, buildParam, col, i) {
|
|
|
55
68
|
var args = [];
|
|
56
69
|
for (var _i = 0, ks_2 = ks; _i < ks_2.length; _i++) {
|
|
57
70
|
var k = ks_2[_i];
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
71
|
+
if (k.name) {
|
|
72
|
+
var field = (k.field ? k.field : k.name);
|
|
73
|
+
cols.push(field + " = " + buildParam(i++));
|
|
74
|
+
args.push(obj[k.name]);
|
|
75
|
+
}
|
|
61
76
|
}
|
|
62
77
|
var query = "select * from " + table + " where " + cols.join(' and ');
|
|
63
78
|
return { query: query, params: args };
|
|
64
79
|
}
|
|
65
80
|
else {
|
|
66
|
-
return
|
|
81
|
+
return undefined;
|
|
67
82
|
}
|
|
68
83
|
}
|
|
69
84
|
exports.exist = exist;
|
|
@@ -87,15 +102,17 @@ function buildToDelete(obj, table, ks, buildParam, i) {
|
|
|
87
102
|
var args = [];
|
|
88
103
|
for (var _i = 0, ks_3 = ks; _i < ks_3.length; _i++) {
|
|
89
104
|
var k = ks_3[_i];
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
105
|
+
if (k.name) {
|
|
106
|
+
var field = (k.field ? k.field : k.name);
|
|
107
|
+
cols.push(field + " = " + buildParam(i++));
|
|
108
|
+
args.push(obj[k.name]);
|
|
109
|
+
}
|
|
93
110
|
}
|
|
94
111
|
var query = "delete from " + table + " where " + cols.join(' and ');
|
|
95
112
|
return { query: query, params: args };
|
|
96
113
|
}
|
|
97
114
|
else {
|
|
98
|
-
return
|
|
115
|
+
return undefined;
|
|
99
116
|
}
|
|
100
117
|
}
|
|
101
118
|
exports.buildToDelete = buildToDelete;
|
|
@@ -113,6 +130,7 @@ function buildToInsert(obj, table, attrs, buildParam, ver, i) {
|
|
|
113
130
|
if (!i) {
|
|
114
131
|
i = 1;
|
|
115
132
|
}
|
|
133
|
+
var o = obj;
|
|
116
134
|
var ks = Object.keys(attrs);
|
|
117
135
|
var cols = [];
|
|
118
136
|
var values = [];
|
|
@@ -120,7 +138,7 @@ function buildToInsert(obj, table, attrs, buildParam, ver, i) {
|
|
|
120
138
|
var isVersion = false;
|
|
121
139
|
for (var _i = 0, ks_4 = ks; _i < ks_4.length; _i++) {
|
|
122
140
|
var k = ks_4[_i];
|
|
123
|
-
var v =
|
|
141
|
+
var v = o[k];
|
|
124
142
|
var attr = attrs[k];
|
|
125
143
|
if (attr && !attr.ignored && !attr.noinsert) {
|
|
126
144
|
if (v === undefined || v == null) {
|
|
@@ -178,7 +196,7 @@ function buildToInsert(obj, table, attrs, buildParam, ver, i) {
|
|
|
178
196
|
values.push("" + 1);
|
|
179
197
|
}
|
|
180
198
|
if (cols.length === 0) {
|
|
181
|
-
return
|
|
199
|
+
return undefined;
|
|
182
200
|
}
|
|
183
201
|
else {
|
|
184
202
|
var query = "insert into " + table + "(" + cols.join(',') + ")values(" + values.join(',') + ")";
|
|
@@ -186,8 +204,8 @@ function buildToInsert(obj, table, attrs, buildParam, ver, i) {
|
|
|
186
204
|
}
|
|
187
205
|
}
|
|
188
206
|
exports.buildToInsert = buildToInsert;
|
|
189
|
-
function insertBatch(exec, objs, table, attrs, buildParam, i) {
|
|
190
|
-
var stm = buildToInsertBatch(objs, table, attrs, buildParam, i);
|
|
207
|
+
function insertBatch(exec, objs, table, attrs, buildParam, ver, i) {
|
|
208
|
+
var stm = buildToInsertBatch(objs, table, attrs, buildParam, ver, i);
|
|
191
209
|
if (!stm) {
|
|
192
210
|
return Promise.resolve(0);
|
|
193
211
|
}
|
|
@@ -196,78 +214,169 @@ function insertBatch(exec, objs, table, attrs, buildParam, i) {
|
|
|
196
214
|
}
|
|
197
215
|
}
|
|
198
216
|
exports.insertBatch = insertBatch;
|
|
199
|
-
function
|
|
217
|
+
function buildOracleParam(i) {
|
|
218
|
+
return ':' + i;
|
|
219
|
+
}
|
|
220
|
+
function buildToInsertBatch(objs, table, attrs, buildParam, ver, i) {
|
|
200
221
|
if (!i) {
|
|
201
222
|
i = 1;
|
|
202
223
|
}
|
|
203
224
|
var ks = Object.keys(attrs);
|
|
204
|
-
var cols = [];
|
|
205
|
-
var rows = [];
|
|
206
225
|
var args = [];
|
|
207
|
-
|
|
208
|
-
var
|
|
209
|
-
var
|
|
210
|
-
|
|
211
|
-
var
|
|
212
|
-
cols.push(field);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
for (var _a = 0, objs_1 = objs; _a < objs_1.length; _a++) {
|
|
216
|
-
var obj = objs_1[_a];
|
|
217
|
-
var values = [];
|
|
218
|
-
for (var _b = 0, ks_6 = ks; _b < ks_6.length; _b++) {
|
|
219
|
-
var k = ks_6[_b];
|
|
226
|
+
if (buildParam && typeof buildParam === 'function') {
|
|
227
|
+
var cols = [];
|
|
228
|
+
var rows = [];
|
|
229
|
+
for (var _i = 0, ks_5 = ks; _i < ks_5.length; _i++) {
|
|
230
|
+
var k = ks_5[_i];
|
|
220
231
|
var attr = attrs[k];
|
|
221
232
|
if (attr && !attr.ignored && !attr.noinsert) {
|
|
222
|
-
var
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
233
|
+
var field = (attr.field ? attr.field : k);
|
|
234
|
+
cols.push(field);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
for (var _a = 0, objs_1 = objs; _a < objs_1.length; _a++) {
|
|
238
|
+
var obj = objs_1[_a];
|
|
239
|
+
var values = [];
|
|
240
|
+
for (var _b = 0, ks_6 = ks; _b < ks_6.length; _b++) {
|
|
241
|
+
var k = ks_6[_b];
|
|
242
|
+
var attr = attrs[k];
|
|
243
|
+
if (attr && !attr.ignored && !attr.noinsert) {
|
|
244
|
+
var v = obj[k];
|
|
245
|
+
if (v === undefined || v === null) {
|
|
246
|
+
v = attr.default;
|
|
247
|
+
}
|
|
248
|
+
if (attr.version) {
|
|
249
|
+
values.push('1');
|
|
250
|
+
}
|
|
251
|
+
else if (v === undefined || v == null) {
|
|
252
|
+
values.push('null');
|
|
253
|
+
}
|
|
254
|
+
else if (v === '') {
|
|
255
|
+
values.push("''");
|
|
256
|
+
}
|
|
257
|
+
else if (typeof v === 'number') {
|
|
258
|
+
values.push(toString(v));
|
|
259
|
+
}
|
|
260
|
+
else if (typeof v === 'boolean') {
|
|
261
|
+
if (attr.true === undefined) {
|
|
262
|
+
if (v === true) {
|
|
263
|
+
values.push("true");
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
values.push("false");
|
|
267
|
+
}
|
|
242
268
|
}
|
|
243
269
|
else {
|
|
244
|
-
|
|
270
|
+
var p = buildParam(i++);
|
|
271
|
+
values.push(p);
|
|
272
|
+
if (v === true) {
|
|
273
|
+
var v2 = (attr.true ? attr.true : '1');
|
|
274
|
+
args.push(v2);
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
var v2 = (attr.false ? attr.false : '0');
|
|
278
|
+
args.push(v2);
|
|
279
|
+
}
|
|
245
280
|
}
|
|
246
281
|
}
|
|
247
282
|
else {
|
|
248
283
|
var p = buildParam(i++);
|
|
249
284
|
values.push(p);
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
285
|
+
args.push(v);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
rows.push("(" + values.join(',') + ")");
|
|
290
|
+
}
|
|
291
|
+
var query = "insert into " + table + "(" + cols.join(',') + ")values " + rows.join(',');
|
|
292
|
+
return { query: query, params: args };
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
var notSkipInvalid = false;
|
|
296
|
+
if (buildParam === true) {
|
|
297
|
+
notSkipInvalid = true;
|
|
298
|
+
}
|
|
299
|
+
var rows = [];
|
|
300
|
+
for (var _c = 0, objs_2 = objs; _c < objs_2.length; _c++) {
|
|
301
|
+
var obj = objs_2[_c];
|
|
302
|
+
var cols = [];
|
|
303
|
+
var values = [];
|
|
304
|
+
var isVersion = false;
|
|
305
|
+
for (var _d = 0, ks_7 = ks; _d < ks_7.length; _d++) {
|
|
306
|
+
var k = ks_7[_d];
|
|
307
|
+
var v = obj[k];
|
|
308
|
+
var attr = attrs[k];
|
|
309
|
+
if (attr && !attr.ignored && !attr.noinsert) {
|
|
310
|
+
if (v === undefined || v == null) {
|
|
311
|
+
v = attr.default;
|
|
312
|
+
}
|
|
313
|
+
if (v !== undefined && v != null) {
|
|
314
|
+
var field = (attr.field ? attr.field : k);
|
|
315
|
+
cols.push(field);
|
|
316
|
+
if (k === ver) {
|
|
317
|
+
isVersion = true;
|
|
318
|
+
values.push("" + 1);
|
|
253
319
|
}
|
|
254
320
|
else {
|
|
255
|
-
|
|
256
|
-
|
|
321
|
+
if (v === '') {
|
|
322
|
+
values.push("''");
|
|
323
|
+
}
|
|
324
|
+
else if (typeof v === 'number') {
|
|
325
|
+
values.push(toString(v));
|
|
326
|
+
}
|
|
327
|
+
else if (typeof v === 'boolean') {
|
|
328
|
+
if (attr.true === undefined) {
|
|
329
|
+
if (v === true) {
|
|
330
|
+
values.push("true");
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
values.push("false");
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
var p = buildOracleParam(i++);
|
|
338
|
+
values.push(p);
|
|
339
|
+
if (v === true) {
|
|
340
|
+
var v2 = (attr.true ? attr.true : '1');
|
|
341
|
+
args.push(v2);
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
var v2 = (attr.false ? attr.false : '0');
|
|
345
|
+
args.push(v2);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
var p = buildOracleParam(i++);
|
|
351
|
+
values.push(p);
|
|
352
|
+
args.push(v);
|
|
353
|
+
}
|
|
257
354
|
}
|
|
258
355
|
}
|
|
259
356
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
357
|
+
}
|
|
358
|
+
if (!isVersion && ver && ver.length > 0) {
|
|
359
|
+
var attr = attrs[ver];
|
|
360
|
+
var field = (attr.field ? attr.field : ver);
|
|
361
|
+
cols.push(field);
|
|
362
|
+
values.push("" + 1);
|
|
363
|
+
}
|
|
364
|
+
if (cols.length === 0) {
|
|
365
|
+
if (notSkipInvalid) {
|
|
366
|
+
return undefined;
|
|
264
367
|
}
|
|
265
368
|
}
|
|
369
|
+
else {
|
|
370
|
+
var s = "into " + table + "(" + cols.join(',') + ")values(" + values.join(',') + ")";
|
|
371
|
+
rows.push(s);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
if (rows.length === 0) {
|
|
375
|
+
return undefined;
|
|
266
376
|
}
|
|
267
|
-
|
|
377
|
+
var query = "insert all " + rows.join(' ') + " select * from dual";
|
|
378
|
+
return { query: query, params: args };
|
|
268
379
|
}
|
|
269
|
-
var query = "insert into " + table + "(" + cols.join(',') + ")values " + rows.join(',');
|
|
270
|
-
return { query: query, params: args };
|
|
271
380
|
}
|
|
272
381
|
exports.buildToInsertBatch = buildToInsertBatch;
|
|
273
382
|
function update(exec, obj, table, attrs, buildParam, ver, i) {
|
|
@@ -284,14 +393,15 @@ function buildToUpdate(obj, table, attrs, buildParam, ver, i) {
|
|
|
284
393
|
if (!i) {
|
|
285
394
|
i = 1;
|
|
286
395
|
}
|
|
396
|
+
var o = obj;
|
|
287
397
|
var ks = Object.keys(attrs);
|
|
288
398
|
var pks = [];
|
|
289
399
|
var colSet = [];
|
|
290
400
|
var colQuery = [];
|
|
291
401
|
var args = [];
|
|
292
|
-
for (var _i = 0,
|
|
293
|
-
var k =
|
|
294
|
-
var v =
|
|
402
|
+
for (var _i = 0, ks_8 = ks; _i < ks_8.length; _i++) {
|
|
403
|
+
var k = ks_8[_i];
|
|
404
|
+
var v = o[k];
|
|
295
405
|
if (v !== undefined) {
|
|
296
406
|
var attr = attrs[k];
|
|
297
407
|
attr.name = k;
|
|
@@ -343,12 +453,13 @@ function buildToUpdate(obj, table, attrs, buildParam, ver, i) {
|
|
|
343
453
|
}
|
|
344
454
|
for (var _a = 0, pks_1 = pks; _a < pks_1.length; _a++) {
|
|
345
455
|
var pk = pks_1[_a];
|
|
346
|
-
var
|
|
456
|
+
var na = (pk.name ? pk.name : '');
|
|
457
|
+
var v = o[na];
|
|
347
458
|
if (!v) {
|
|
348
|
-
return
|
|
459
|
+
return undefined;
|
|
349
460
|
}
|
|
350
461
|
else {
|
|
351
|
-
var attr = attrs[
|
|
462
|
+
var attr = attrs[na];
|
|
352
463
|
var field = (attr.field ? attr.field : pk.name);
|
|
353
464
|
var x = void 0;
|
|
354
465
|
if (v == null) {
|
|
@@ -380,7 +491,7 @@ function buildToUpdate(obj, table, attrs, buildParam, ver, i) {
|
|
|
380
491
|
}
|
|
381
492
|
}
|
|
382
493
|
if (ver && ver.length > 0) {
|
|
383
|
-
var v =
|
|
494
|
+
var v = o[ver];
|
|
384
495
|
if (typeof v === 'number' && !isNaN(v)) {
|
|
385
496
|
var attr = attrs[ver];
|
|
386
497
|
if (attr) {
|
|
@@ -391,7 +502,7 @@ function buildToUpdate(obj, table, attrs, buildParam, ver, i) {
|
|
|
391
502
|
}
|
|
392
503
|
}
|
|
393
504
|
if (colSet.length === 0 || colQuery.length === 0) {
|
|
394
|
-
return
|
|
505
|
+
return undefined;
|
|
395
506
|
}
|
|
396
507
|
else {
|
|
397
508
|
var query = "update " + table + " set " + colSet.join(',') + " where " + colQuery.join(' and ');
|
|
@@ -413,20 +524,22 @@ function buildToUpdateBatch(objs, table, attrs, buildParam, notSkipInvalid) {
|
|
|
413
524
|
var sts = [];
|
|
414
525
|
var meta = metadata(attrs);
|
|
415
526
|
if (!meta.keys || meta.keys.length === 0) {
|
|
416
|
-
return
|
|
527
|
+
return undefined;
|
|
417
528
|
}
|
|
418
|
-
for (var _i = 0,
|
|
419
|
-
var obj =
|
|
529
|
+
for (var _i = 0, objs_3 = objs; _i < objs_3.length; _i++) {
|
|
530
|
+
var obj = objs_3[_i];
|
|
531
|
+
var o = obj;
|
|
420
532
|
var i = 1;
|
|
421
|
-
var ks = Object.keys(
|
|
533
|
+
var ks = Object.keys(o);
|
|
422
534
|
var colSet = [];
|
|
423
535
|
var colQuery = [];
|
|
424
536
|
var args = [];
|
|
425
|
-
for (var _a = 0,
|
|
426
|
-
var k =
|
|
427
|
-
var v =
|
|
537
|
+
for (var _a = 0, ks_9 = ks; _a < ks_9.length; _a++) {
|
|
538
|
+
var k = ks_9[_a];
|
|
539
|
+
var v = o[k];
|
|
428
540
|
if (v !== undefined) {
|
|
429
541
|
var attr = attrs[k];
|
|
542
|
+
attr.name = k;
|
|
430
543
|
if (attr && !attr.ignored && !attr.key && !attr.version && !attr.noupdate) {
|
|
431
544
|
var field = (attr.field ? attr.field : k);
|
|
432
545
|
var x = void 0;
|
|
@@ -471,12 +584,13 @@ function buildToUpdateBatch(objs, table, attrs, buildParam, notSkipInvalid) {
|
|
|
471
584
|
var valid = true;
|
|
472
585
|
for (var _b = 0, _c = meta.keys; _b < _c.length; _b++) {
|
|
473
586
|
var pk = _c[_b];
|
|
474
|
-
var
|
|
587
|
+
var na = (pk.name ? pk.name : '');
|
|
588
|
+
var v = o[na];
|
|
475
589
|
if (!v) {
|
|
476
590
|
valid = false;
|
|
477
591
|
}
|
|
478
592
|
else {
|
|
479
|
-
var attr = attrs[
|
|
593
|
+
var attr = attrs[na];
|
|
480
594
|
var field = (attr.field ? attr.field : pk.name);
|
|
481
595
|
var x = void 0;
|
|
482
596
|
if (v == null) {
|
|
@@ -509,13 +623,13 @@ function buildToUpdateBatch(objs, table, attrs, buildParam, notSkipInvalid) {
|
|
|
509
623
|
}
|
|
510
624
|
if (!valid || colSet.length === 0 || colQuery.length === 0) {
|
|
511
625
|
if (notSkipInvalid) {
|
|
512
|
-
return
|
|
626
|
+
return undefined;
|
|
513
627
|
}
|
|
514
628
|
}
|
|
515
629
|
else {
|
|
516
630
|
var ver = meta.version;
|
|
517
631
|
if (ver && ver.length > 0) {
|
|
518
|
-
var v =
|
|
632
|
+
var v = o[ver];
|
|
519
633
|
if (typeof v === 'number' && !isNaN(v)) {
|
|
520
634
|
var attr = attrs[ver];
|
|
521
635
|
if (attr) {
|
|
@@ -535,8 +649,8 @@ function buildToUpdateBatch(objs, table, attrs, buildParam, notSkipInvalid) {
|
|
|
535
649
|
exports.buildToUpdateBatch = buildToUpdateBatch;
|
|
536
650
|
function version(attrs) {
|
|
537
651
|
var ks = Object.keys(attrs);
|
|
538
|
-
for (var _i = 0,
|
|
539
|
-
var k =
|
|
652
|
+
for (var _i = 0, ks_10 = ks; _i < ks_10.length; _i++) {
|
|
653
|
+
var k = ks_10[_i];
|
|
540
654
|
var attr = attrs[k];
|
|
541
655
|
if (attr.version) {
|
|
542
656
|
attr.name = k;
|
|
@@ -548,22 +662,22 @@ function version(attrs) {
|
|
|
548
662
|
exports.version = version;
|
|
549
663
|
function key(attrs) {
|
|
550
664
|
var ks = Object.keys(attrs);
|
|
551
|
-
for (var _i = 0,
|
|
552
|
-
var k =
|
|
665
|
+
for (var _i = 0, ks_11 = ks; _i < ks_11.length; _i++) {
|
|
666
|
+
var k = ks_11[_i];
|
|
553
667
|
var attr = attrs[k];
|
|
554
668
|
attr.name = k;
|
|
555
669
|
if (attr.key) {
|
|
556
670
|
return attr;
|
|
557
671
|
}
|
|
558
672
|
}
|
|
559
|
-
return
|
|
673
|
+
return undefined;
|
|
560
674
|
}
|
|
561
675
|
exports.key = key;
|
|
562
676
|
function keys(attrs) {
|
|
563
677
|
var ks = Object.keys(attrs);
|
|
564
678
|
var ats = [];
|
|
565
|
-
for (var _i = 0,
|
|
566
|
-
var k =
|
|
679
|
+
for (var _i = 0, ks_12 = ks; _i < ks_12.length; _i++) {
|
|
680
|
+
var k = ks_12[_i];
|
|
567
681
|
var attr = attrs[k];
|
|
568
682
|
attr.name = k;
|
|
569
683
|
if (attr.key) {
|
|
@@ -576,8 +690,8 @@ exports.keys = keys;
|
|
|
576
690
|
function buildMap(attrs) {
|
|
577
691
|
var mp = {};
|
|
578
692
|
var ks = Object.keys(attrs);
|
|
579
|
-
for (var _i = 0,
|
|
580
|
-
var k =
|
|
693
|
+
for (var _i = 0, ks_13 = ks; _i < ks_13.length; _i++) {
|
|
694
|
+
var k = ks_13[_i];
|
|
581
695
|
var attr = attrs[k];
|
|
582
696
|
attr.name = k;
|
|
583
697
|
var field = (attr.field ? attr.field : k);
|
|
@@ -595,10 +709,10 @@ function metadata(attrs) {
|
|
|
595
709
|
var ats = [];
|
|
596
710
|
var bools = [];
|
|
597
711
|
var fields = [];
|
|
598
|
-
var ver;
|
|
599
712
|
var isMap = false;
|
|
600
|
-
|
|
601
|
-
|
|
713
|
+
var m = { keys: ats, fields: fields };
|
|
714
|
+
for (var _i = 0, ks_14 = ks; _i < ks_14.length; _i++) {
|
|
715
|
+
var k = ks_14[_i];
|
|
602
716
|
var attr = attrs[k];
|
|
603
717
|
attr.name = k;
|
|
604
718
|
if (attr.key) {
|
|
@@ -611,7 +725,7 @@ function metadata(attrs) {
|
|
|
611
725
|
bools.push(attr);
|
|
612
726
|
}
|
|
613
727
|
if (attr.version) {
|
|
614
|
-
|
|
728
|
+
m.version = k;
|
|
615
729
|
}
|
|
616
730
|
var field = (attr.field ? attr.field : k);
|
|
617
731
|
var s = field.toLowerCase();
|
|
@@ -620,7 +734,6 @@ function metadata(attrs) {
|
|
|
620
734
|
isMap = true;
|
|
621
735
|
}
|
|
622
736
|
}
|
|
623
|
-
var m = { keys: ats, fields: fields, version: ver };
|
|
624
737
|
if (isMap) {
|
|
625
738
|
m.map = mp;
|
|
626
739
|
}
|