spice-couchbase 2.0.22 → 2.0.25
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/build/index.js +36 -66
- package/package.json +1 -1
- package/src/index.js +19 -13
package/build/index.js
CHANGED
|
@@ -347,18 +347,20 @@ module.exports = class Database {
|
|
|
347
347
|
|
|
348
348
|
var returned_all = yield Promise.allSettled(functions);
|
|
349
349
|
|
|
350
|
-
var responses = _.flatten(_.
|
|
351
|
-
|
|
352
|
-
}))
|
|
350
|
+
var responses = _.flatten(_.map(returned_all, returned_obj => {
|
|
351
|
+
return returned_obj === null || returned_obj === void 0 ? void 0 : returned_obj.value;
|
|
352
|
+
}));
|
|
353
|
+
|
|
354
|
+
return _.compact(_.map(responses, (res, index) => {
|
|
355
|
+
if (res) {
|
|
356
|
+
if (!keep_type) {
|
|
357
|
+
delete res.value.type;
|
|
358
|
+
}
|
|
353
359
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
delete res.value.type;
|
|
360
|
+
res.value.id = keys[index];
|
|
361
|
+
return res.value;
|
|
357
362
|
}
|
|
358
|
-
|
|
359
|
-
res.value.id = keys[index];
|
|
360
|
-
return res.value;
|
|
361
|
-
});
|
|
363
|
+
}));
|
|
362
364
|
} else {
|
|
363
365
|
return [];
|
|
364
366
|
}
|
|
@@ -432,52 +434,34 @@ module.exports = class Database {
|
|
|
432
434
|
}());
|
|
433
435
|
}
|
|
434
436
|
|
|
435
|
-
search(type, columns, query
|
|
437
|
+
search(type, columns, query) {
|
|
436
438
|
var _this15 = this;
|
|
437
439
|
|
|
440
|
+
var limit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
441
|
+
var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
|
|
442
|
+
var order_by = arguments.length > 5 ? arguments[5] : undefined;
|
|
443
|
+
var do_count = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : "false";
|
|
444
|
+
var query_scope = arguments.length > 7 ? arguments[7] : undefined;
|
|
438
445
|
return _asyncToGenerator(function* () {
|
|
439
446
|
var is_legacy = _this15.scope_name !== "_default" && _this15.collection_name !== "_default";
|
|
440
|
-
var alias = "_reference";
|
|
441
447
|
var bucket = "`".concat(_this15.use_bucket_name ? _this15.bucket : _this15.collection_name, "`");
|
|
442
448
|
|
|
443
|
-
|
|
444
|
-
//
|
|
445
|
-
|
|
446
|
-
do_count = "false";
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
var fix = "";
|
|
450
|
-
var count_query = "";
|
|
451
|
-
|
|
452
|
-
if (!limit) {
|
|
453
|
-
limit = 0;
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
if (!offset) {
|
|
457
|
-
offset = 0;
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
if (columns == "*") {
|
|
461
|
-
columns = "(" + bucket + ").*";
|
|
462
|
-
fix = ", META(" + bucket + ").id AS id";
|
|
463
|
-
}
|
|
449
|
+
function containsIdWithSpace(str) {
|
|
450
|
+
return /\bid/i.test(str); // \b for word boundary, 'i' flag for case-insensitive matching
|
|
451
|
+
}
|
|
464
452
|
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
fix = ", META(" + bucket + ").id AS id";
|
|
468
|
-
}
|
|
453
|
+
try {
|
|
454
|
+
var fix = ", META(".concat(bucket, ").id AS id");
|
|
469
455
|
|
|
470
|
-
if (columns
|
|
471
|
-
|
|
456
|
+
if (columns === "*" || !columns) {
|
|
457
|
+
columns = "(".concat(bucket, ").*");
|
|
458
|
+
} else if (columns !== "id") {
|
|
459
|
+
columns = "".concat(columns).concat(fix);
|
|
460
|
+
} else {
|
|
472
461
|
columns = "";
|
|
473
462
|
}
|
|
474
463
|
|
|
475
|
-
var front_query = "SELECT ".concat(columns, " ").concat(fix, " FROM ").concat(bucket);
|
|
476
|
-
|
|
477
|
-
if (is_legacy || query) {
|
|
478
|
-
front_query += " WHERE ";
|
|
479
|
-
}
|
|
480
|
-
|
|
464
|
+
var front_query = "SELECT ".concat(columns, " ").concat(containsIdWithSpace(columns) ? "" : fix, " FROM ").concat(bucket);
|
|
481
465
|
var conditions = [];
|
|
482
466
|
|
|
483
467
|
if (_this15.use_bucket_name) {
|
|
@@ -488,27 +472,13 @@ module.exports = class Database {
|
|
|
488
472
|
conditions.push(query);
|
|
489
473
|
}
|
|
490
474
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
query = front_query + conditions.join(" AND ");
|
|
499
|
-
|
|
500
|
-
if (order_by) {
|
|
501
|
-
query = "".concat(query, " ORDER BY ").concat(order_by);
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
if (limit > 0) {
|
|
505
|
-
query = query + " LIMIT " + limit;
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
if (offset > 0) {
|
|
509
|
-
query = query + " OFFSET " + offset;
|
|
510
|
-
}
|
|
511
|
-
|
|
475
|
+
var where_clause = conditions.length ? " WHERE " : "";
|
|
476
|
+
query = front_query + where_clause + conditions.join(" AND ");
|
|
477
|
+
var count_query = "SELECT count(meta().id) as count FROM ".concat(bucket).concat(where_clause);
|
|
478
|
+
var order_by_clause = order_by ? " ORDER BY ".concat(order_by) : "";
|
|
479
|
+
var limit_clause = limit > 0 ? " LIMIT ".concat(limit) : "";
|
|
480
|
+
var offset_clause = offset > 0 ? " OFFSET ".concat(offset) : "";
|
|
481
|
+
query = query + order_by_clause + limit_clause + offset_clause;
|
|
512
482
|
var active_query_space = query_scope || !_this15.use_bucket_name ? "scope" : "cluster";
|
|
513
483
|
var queries = [_this15.getData(query, active_query_space)];
|
|
514
484
|
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -329,20 +329,22 @@ module.exports = class Database {
|
|
|
329
329
|
let returned_all = await Promise.allSettled(functions);
|
|
330
330
|
|
|
331
331
|
let responses = _.flatten(
|
|
332
|
-
_.
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
})
|
|
336
|
-
)
|
|
332
|
+
_.map(returned_all, (returned_obj) => {
|
|
333
|
+
return returned_obj?.value;
|
|
334
|
+
})
|
|
337
335
|
);
|
|
338
336
|
|
|
339
|
-
return _.
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
337
|
+
return _.compact(
|
|
338
|
+
_.map(responses, (res, index) => {
|
|
339
|
+
if (res) {
|
|
340
|
+
if (!keep_type) {
|
|
341
|
+
delete res.value.type;
|
|
342
|
+
}
|
|
343
|
+
res.value.id = keys[index];
|
|
344
|
+
return res.value;
|
|
345
|
+
}
|
|
346
|
+
})
|
|
347
|
+
);
|
|
346
348
|
} else {
|
|
347
349
|
return [];
|
|
348
350
|
}
|
|
@@ -414,6 +416,10 @@ module.exports = class Database {
|
|
|
414
416
|
this.use_bucket_name ? this.bucket : this.collection_name
|
|
415
417
|
}\``;
|
|
416
418
|
|
|
419
|
+
function containsIdWithSpace(str) {
|
|
420
|
+
return /\bid/i.test(str); // \b for word boundary, 'i' flag for case-insensitive matching
|
|
421
|
+
}
|
|
422
|
+
|
|
417
423
|
try {
|
|
418
424
|
const fix = `, META(${bucket}).id AS id`;
|
|
419
425
|
|
|
@@ -425,7 +431,7 @@ module.exports = class Database {
|
|
|
425
431
|
columns = "";
|
|
426
432
|
}
|
|
427
433
|
|
|
428
|
-
const front_query = `SELECT ${columns} ${fix} FROM ${bucket}`;
|
|
434
|
+
const front_query = `SELECT ${columns} ${containsIdWithSpace(columns) ? "" : fix} FROM ${bucket}`;
|
|
429
435
|
const conditions = [];
|
|
430
436
|
|
|
431
437
|
if (this.use_bucket_name) {
|