couchbase 4.4.6 → 4.5.0
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/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +3 -165
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
- package/deps/couchbase-cxx-client/CMakeLists.txt +12 -1
- package/deps/couchbase-cxx-client/README.md +2 -2
- package/deps/couchbase-cxx-client/cmake/Profiler.cmake +15 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_address.cxx +55 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_address.hxx +39 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_meter.cxx +753 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_meter.hxx +198 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_reporter.cxx +895 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_reporter.hxx +59 -0
- package/deps/couchbase-cxx-client/core/bucket.cxx +77 -35
- package/deps/couchbase-cxx-client/core/bucket.hxx +17 -10
- package/deps/couchbase-cxx-client/core/cluster.cxx +54 -16
- package/deps/couchbase-cxx-client/core/cluster_credentials.cxx +27 -0
- package/deps/couchbase-cxx-client/core/cluster_credentials.hxx +36 -0
- package/deps/couchbase-cxx-client/core/cluster_options.hxx +12 -0
- package/deps/couchbase-cxx-client/core/collections_component.cxx +7 -5
- package/deps/couchbase-cxx-client/core/http_component.cxx +6 -0
- package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +9 -0
- package/deps/couchbase-cxx-client/core/impl/collection.cxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/error.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/logger.cxx +51 -0
- package/deps/couchbase-cxx-client/core/impl/replica_utils.cxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/transaction_get_multi_replicas_from_preferred_server_group_spec.cxx +32 -0
- package/deps/couchbase-cxx-client/core/impl/transaction_get_multi_spec.cxx +30 -0
- package/deps/couchbase-cxx-client/core/impl/transaction_op_error_category.cxx +2 -0
- package/deps/couchbase-cxx-client/core/io/config_tracker.cxx +6 -6
- package/deps/couchbase-cxx-client/core/io/http_command.hxx +35 -11
- package/deps/couchbase-cxx-client/core/io/http_session.cxx +10 -0
- package/deps/couchbase-cxx-client/core/io/http_session.hxx +4 -0
- package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +83 -34
- package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +41 -2
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +52 -19
- package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +3 -0
- package/deps/couchbase-cxx-client/core/logger/logger.cxx +46 -0
- package/deps/couchbase-cxx-client/core/logger/logger.hxx +41 -1
- package/deps/couchbase-cxx-client/core/management/bucket_settings.hxx +1 -0
- package/deps/couchbase-cxx-client/core/management/bucket_settings_json.hxx +4 -0
- package/deps/couchbase-cxx-client/core/meta/features.hxx +32 -0
- package/deps/couchbase-cxx-client/core/operations/document_analytics.cxx +9 -9
- package/deps/couchbase-cxx-client/core/operations/document_get_all_replicas.hxx +10 -2
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in.cxx +4 -0
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_all_replicas.hxx +14 -2
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_any_replica.hxx +4 -0
- package/deps/couchbase-cxx-client/core/operations/document_mutate_in.cxx +4 -0
- package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/document_query.cxx +12 -10
- package/deps/couchbase-cxx-client/core/operations/http_noop.cxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_create.cxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_update.cxx +3 -0
- package/deps/couchbase-cxx-client/core/origin.cxx +0 -5
- package/deps/couchbase-cxx-client/core/origin.hxx +2 -11
- package/deps/couchbase-cxx-client/core/platform/random.cc +6 -3
- package/deps/couchbase-cxx-client/core/platform/random.h +2 -2
- package/deps/couchbase-cxx-client/core/protocol/cmd_mutate_in.hxx +9 -0
- package/deps/couchbase-cxx-client/core/timeout_defaults.hxx +4 -0
- package/deps/couchbase-cxx-client/core/topology/configuration.cxx +10 -13
- package/deps/couchbase-cxx-client/core/topology/configuration.hxx +14 -15
- package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +6 -0
- package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.hxx +22 -2
- package/deps/couchbase-cxx-client/core/transactions/attempt_context.hxx +25 -7
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +688 -238
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +91 -12
- package/deps/couchbase-cxx-client/core/transactions/exceptions.cxx +5 -0
- package/deps/couchbase-cxx-client/core/transactions/exceptions.hxx +20 -0
- package/deps/couchbase-cxx-client/core/transactions/exceptions_fmt.hxx +3 -0
- package/deps/couchbase-cxx-client/core/transactions/forward_compat.cxx +71 -6
- package/deps/couchbase-cxx-client/core/transactions/forward_compat.hxx +45 -59
- package/deps/couchbase-cxx-client/core/transactions/get_multi_orchestrator.cxx +616 -0
- package/deps/couchbase-cxx-client/core/transactions/get_multi_orchestrator.hxx +61 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.cxx +8 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +16 -5
- package/deps/couchbase-cxx-client/core/transactions/internal/exceptions_internal.hxx +12 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +13 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/transaction_fields.hxx +1 -0
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +277 -96
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.hxx +28 -76
- package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +33 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_get_multi_mode.hxx +28 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_get_multi_replicas_from_preferred_server_group_mode.hxx +27 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_get_multi_replicas_from_preferred_server_group_result.hxx +71 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_get_multi_result.hxx +66 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +10 -0
- package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +8 -3
- package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +4 -0
- package/deps/couchbase-cxx-client/core/utils/url_codec.cxx +26 -0
- package/deps/couchbase-cxx-client/core/utils/url_codec.hxx +11 -0
- package/deps/couchbase-cxx-client/core/websocket_codec.cxx +647 -0
- package/deps/couchbase-cxx-client/core/websocket_codec.hxx +77 -0
- package/deps/couchbase-cxx-client/couchbase/analytics_options.hxx +70 -6
- package/deps/couchbase-cxx-client/couchbase/application_telemetry_options.hxx +124 -0
- package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +17 -0
- package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/logger.hxx +16 -0
- package/deps/couchbase-cxx-client/couchbase/management/bucket_settings.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/query_options.hxx +70 -6
- package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +29 -5
- package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +24 -7
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_mode.hxx +47 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_replicas_from_preferred_server_group_mode.hxx +46 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_replicas_from_preferred_server_group_options.hxx +48 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_replicas_from_preferred_server_group_result.hxx +109 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_replicas_from_preferred_server_group_spec.hxx +47 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_result.hxx +102 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_spec.hxx +45 -0
- package/dist/analyticsindexmanager.d.ts +1 -0
- package/dist/binarycollection.d.ts +1 -0
- package/dist/binding.d.ts +82 -38
- package/dist/binding.js +14 -7
- package/dist/bindingutilities.d.ts +16 -4
- package/dist/bindingutilities.js +233 -31
- package/dist/cluster.d.ts +39 -0
- package/dist/cluster.js +21 -3
- package/dist/collection.d.ts +20 -1
- package/dist/collection.js +13 -0
- package/dist/errorcontexts.d.ts +24 -0
- package/dist/errorcontexts.js +12 -6
- package/dist/generaltypes.d.ts +16 -0
- package/dist/generaltypes.js +18 -1
- package/dist/httpexecutor.d.ts +1 -2
- package/dist/httpexecutor.js +0 -9
- package/dist/streamablepromises.d.ts +25 -7
- package/dist/streamablepromises.js +32 -7
- package/dist/transactions.d.ts +239 -1
- package/dist/transactions.js +316 -2
- package/dist/transcoders.d.ts +1 -0
- package/dist/utilities.d.ts +1 -0
- package/package.json +24 -24
- package/src/connection.cpp +34 -4
- package/src/constants.cpp +124 -0
- package/src/jstocbpp_autogen.hpp +22 -8
- package/src/jstocbpp_transactions.hpp +76 -2
- package/src/transaction.cpp +101 -0
- package/src/transaction.hpp +5 -0
- package/tools/gen-bindings-js.js +2 -1
- package/tools/gen-bindings-json.py +28 -3
package/dist/bindingutilities.js
CHANGED
@@ -27,7 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
};
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
29
|
exports.eventingFunctionLanguageCompatibilityFromCpp = exports.eventingFunctionLanguageCompatibilityToCpp = exports.eventingFunctionLogLevelFromCpp = exports.eventingFunctionLogLevelToCpp = exports.eventingFunctionProcessingStatusFromCpp = exports.eventingFunctionProcessingStatusToCpp = exports.eventingFunctionDeploymentStatusFromCpp = exports.eventingFunctionDeploymentStatusToCpp = exports.eventingFunctionDcpBoundaryFromCpp = exports.eventingFunctionDcpBoundaryToCpp = exports.eventingBucketBindingAccessFromCpp = exports.eventingBucketBindingAccessToCpp = exports.transactionKeyspaceToCpp = exports.designDocumentNamespaceToCpp = exports.designDocumentNamespaceFromCpp = exports.vectorQueryCombinationToCpp = exports.bucketConflictResolutionTypeFromCpp = exports.bucketConflictResolutionTypeToCpp = exports.bucketStorageBackendFromCpp = exports.bucketStorageBackendToCpp = exports.bucketEvictionPolicyFromCpp = exports.bucketEvictionPolicyToCpp = exports.bucketCompressionModeFromCpp = exports.bucketCompressionModeToCpp = exports.bucketTypeFromCpp = exports.bucketTypeToCpp = exports.scanTypeToCpp = exports.errorFromCpp = exports.contextFromCpp = exports.pingStateFromCpp = exports.txnOpExeptionFromCpp = exports.txnExternalExceptionStringFromCpp = exports.endpointStateFromCpp = exports.serviceTypeFromCpp = exports.serviceTypeToCpp = exports.mutationStateToCpp = exports.searchHighlightStyleToCpp = exports.searchScanConsistencyToCpp = exports.analyticsStatusFromCpp = exports.analyticsScanConsistencyToCpp = exports.queryProfileToCpp = exports.queryScanConsistencyFromCpp = exports.queryScanConsistencyToCpp = exports.viewOrderingToCpp = exports.viewScanConsistencyToCpp = exports.storeSemanticToCpp = exports.replicateToToCpp = exports.persistToToCpp = exports.durabilityFromCpp = exports.durabilityToCpp = void 0;
|
30
|
-
exports.authDomainFromCpp = exports.authDomainToCpp = exports.encryptionSettingsFromCpp = exports.encryptionSettingsToCpp = exports.encryptionLevelToCpp = exports.couchbaseLinkEncryptionLevelFromCpp = exports.eventingFunctionStatusFromCpp = void 0;
|
30
|
+
exports.transactionGetMultiReplicasFromPreferredServerGroupModeToCpp = exports.transactionGetMultiModeToCpp = exports.readPreferenceToCpp = exports.authDomainFromCpp = exports.authDomainToCpp = exports.encryptionSettingsFromCpp = exports.encryptionSettingsToCpp = exports.encryptionLevelToCpp = exports.couchbaseLinkEncryptionLevelFromCpp = exports.eventingFunctionStatusFromCpp = void 0;
|
31
31
|
const analyticstypes_1 = require("./analyticstypes");
|
32
32
|
const analyticsindexmanager_1 = require("./analyticsindexmanager");
|
33
33
|
const binding_1 = __importDefault(require("./binding"));
|
@@ -39,6 +39,7 @@ const generaltypes_1 = require("./generaltypes");
|
|
39
39
|
const querytypes_1 = require("./querytypes");
|
40
40
|
const rangeScan_1 = require("./rangeScan");
|
41
41
|
const searchtypes_1 = require("./searchtypes");
|
42
|
+
const transactions_1 = require("./transactions");
|
42
43
|
const utilities_1 = require("./utilities");
|
43
44
|
const vectorsearch_1 = require("./vectorsearch");
|
44
45
|
const viewtypes_1 = require("./viewtypes");
|
@@ -432,78 +433,93 @@ exports.endpointStateFromCpp = endpointStateFromCpp;
|
|
432
433
|
* @internal
|
433
434
|
*/
|
434
435
|
function txnExternalExceptionStringFromCpp(cause, message) {
|
435
|
-
if (cause === binding_1.default.
|
436
|
+
if (cause === binding_1.default.transactions_external_exception.UNKNOWN) {
|
436
437
|
if (message) {
|
437
438
|
return message;
|
438
439
|
}
|
439
440
|
return 'unknown';
|
440
441
|
}
|
441
442
|
else if (cause ===
|
442
|
-
binding_1.default.
|
443
|
+
binding_1.default.transactions_external_exception
|
444
|
+
.ACTIVE_TRANSACTION_RECORD_ENTRY_NOT_FOUND) {
|
443
445
|
return 'active_transaction_record_entry_not_found';
|
444
446
|
}
|
445
|
-
else if (cause ===
|
447
|
+
else if (cause ===
|
448
|
+
binding_1.default.transactions_external_exception.ACTIVE_TRANSACTION_RECORD_FULL) {
|
446
449
|
return 'active_transaction_record_full';
|
447
450
|
}
|
448
|
-
else if (cause ===
|
451
|
+
else if (cause ===
|
452
|
+
binding_1.default.transactions_external_exception.ACTIVE_TRANSACTION_RECORD_NOT_FOUND) {
|
449
453
|
return 'active_transaction_record_not_found';
|
450
454
|
}
|
451
|
-
else if (cause ===
|
455
|
+
else if (cause ===
|
456
|
+
binding_1.default.transactions_external_exception.DOCUMENT_ALREADY_IN_TRANSACTION) {
|
452
457
|
return 'document_already_in_transaction';
|
453
458
|
}
|
454
|
-
else if (cause === binding_1.default.
|
459
|
+
else if (cause === binding_1.default.transactions_external_exception.DOCUMENT_EXISTS_EXCEPTION) {
|
455
460
|
return 'document_exists_exception';
|
456
461
|
}
|
457
|
-
else if (cause ===
|
462
|
+
else if (cause ===
|
463
|
+
binding_1.default.transactions_external_exception.DOCUMENT_NOT_FOUND_EXCEPTION) {
|
458
464
|
return 'document_not_found_exception';
|
459
465
|
}
|
460
|
-
else if (cause === binding_1.default.
|
466
|
+
else if (cause === binding_1.default.transactions_external_exception.NOT_SET) {
|
461
467
|
return 'not_set';
|
462
468
|
}
|
463
|
-
else if (cause ===
|
469
|
+
else if (cause ===
|
470
|
+
binding_1.default.transactions_external_exception.FEATURE_NOT_AVAILABLE_EXCEPTION) {
|
464
471
|
return 'feature_not_available_exception';
|
465
472
|
}
|
466
|
-
else if (cause ===
|
473
|
+
else if (cause ===
|
474
|
+
binding_1.default.transactions_external_exception.TRANSACTION_ABORTED_EXTERNALLY) {
|
467
475
|
return 'transaction_aborted_externally';
|
468
476
|
}
|
469
|
-
else if (cause === binding_1.default.
|
477
|
+
else if (cause === binding_1.default.transactions_external_exception.PREVIOUS_OPERATION_FAILED) {
|
470
478
|
return 'previous_operation_failed';
|
471
479
|
}
|
472
|
-
else if (cause ===
|
480
|
+
else if (cause ===
|
481
|
+
binding_1.default.transactions_external_exception.FORWARD_COMPATIBILITY_FAILURE) {
|
473
482
|
return 'forward_compatibility_failure';
|
474
483
|
}
|
475
|
-
else if (cause === binding_1.default.
|
484
|
+
else if (cause === binding_1.default.transactions_external_exception.PARSING_FAILURE) {
|
476
485
|
return 'parsing_failure';
|
477
486
|
}
|
478
|
-
else if (cause === binding_1.default.
|
487
|
+
else if (cause === binding_1.default.transactions_external_exception.ILLEGAL_STATE_EXCEPTION) {
|
479
488
|
return 'illegal_state_exception';
|
480
489
|
}
|
481
|
-
else if (cause === binding_1.default.
|
490
|
+
else if (cause === binding_1.default.transactions_external_exception.COUCHBASE_EXCEPTION) {
|
482
491
|
return 'couchbase_exception';
|
483
492
|
}
|
484
|
-
else if (cause ===
|
493
|
+
else if (cause ===
|
494
|
+
binding_1.default.transactions_external_exception.SERVICE_NOT_AVAILABLE_EXCEPTION) {
|
485
495
|
return 'service_not_available_exception';
|
486
496
|
}
|
487
|
-
else if (cause === binding_1.default.
|
497
|
+
else if (cause === binding_1.default.transactions_external_exception.REQUEST_CANCELED_EXCEPTION) {
|
488
498
|
return 'request_canceled_exception';
|
489
499
|
}
|
490
500
|
else if (cause ===
|
491
|
-
binding_1.default.
|
492
|
-
.
|
501
|
+
binding_1.default.transactions_external_exception
|
502
|
+
.CONCURRENT_OPERATIONS_DETECTED_ON_SAME_DOCUMENT) {
|
493
503
|
return 'concurrent_operations_detected_on_same_document';
|
494
504
|
}
|
495
|
-
else if (cause === binding_1.default.
|
505
|
+
else if (cause === binding_1.default.transactions_external_exception.COMMIT_NOT_PERMITTED) {
|
496
506
|
return 'commit_not_permitted';
|
497
507
|
}
|
498
|
-
else if (cause === binding_1.default.
|
508
|
+
else if (cause === binding_1.default.transactions_external_exception.ROLLBACK_NOT_PERMITTED) {
|
499
509
|
return 'rollback_not_permitted';
|
500
510
|
}
|
501
|
-
else if (cause ===
|
511
|
+
else if (cause ===
|
512
|
+
binding_1.default.transactions_external_exception.TRANSACTION_ALREADY_ABORTED) {
|
502
513
|
return 'transaction_already_aborted';
|
503
514
|
}
|
504
|
-
else if (cause ===
|
515
|
+
else if (cause ===
|
516
|
+
binding_1.default.transactions_external_exception.TRANSACTION_ALREADY_COMMITTED) {
|
505
517
|
return 'transaction_already_committed';
|
506
518
|
}
|
519
|
+
else if (cause ===
|
520
|
+
binding_1.default.transactions_external_exception.DOCUMENT_UNRETRIEVABLE_EXCEPTION) {
|
521
|
+
return 'document_unretrievable_exception';
|
522
|
+
}
|
507
523
|
return 'unknown';
|
508
524
|
}
|
509
525
|
exports.txnExternalExceptionStringFromCpp = txnExternalExceptionStringFromCpp;
|
@@ -515,19 +531,25 @@ function txnOpExeptionFromCpp(err, ctx) {
|
|
515
531
|
return null;
|
516
532
|
}
|
517
533
|
const context = ctx ? ctx : undefined;
|
518
|
-
if (err.cause ===
|
534
|
+
if (err.cause ===
|
535
|
+
binding_1.default.transactions_external_exception.DOCUMENT_EXISTS_EXCEPTION) {
|
519
536
|
return new errs.DocumentExistsError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)), context);
|
520
537
|
}
|
521
|
-
else if (err.cause ===
|
538
|
+
else if (err.cause ===
|
539
|
+
binding_1.default.transactions_external_exception.DOCUMENT_NOT_FOUND_EXCEPTION) {
|
522
540
|
return new errs.DocumentNotFoundError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)), context);
|
523
541
|
}
|
524
|
-
else if (err.cause === binding_1.default.
|
542
|
+
else if (err.cause === binding_1.default.transactions_external_exception.PARSING_FAILURE) {
|
525
543
|
return new errs.ParsingFailureError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)), context);
|
526
544
|
}
|
527
|
-
else if (err.cause === binding_1.default.
|
545
|
+
else if (err.cause === binding_1.default.transactions_external_exception.COUCHBASE_EXCEPTION) {
|
528
546
|
const cause = txnExternalExceptionStringFromCpp(err.cause, err.message);
|
529
547
|
return new errs.CouchbaseError(cause, new Error(cause), context);
|
530
548
|
}
|
549
|
+
else if (err.cause ===
|
550
|
+
binding_1.default.transactions_external_exception.DOCUMENT_UNRETRIEVABLE_EXCEPTION) {
|
551
|
+
return new errs.DocumentUnretrievableError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)), context);
|
552
|
+
}
|
531
553
|
return err;
|
532
554
|
}
|
533
555
|
exports.txnOpExeptionFromCpp = txnOpExeptionFromCpp;
|
@@ -554,6 +576,10 @@ function contextFromCpp(err) {
|
|
554
576
|
if (!err) {
|
555
577
|
return null;
|
556
578
|
}
|
579
|
+
let retry_reasons = [];
|
580
|
+
if ('retry_reasons' in err) {
|
581
|
+
retry_reasons = err.retry_reasons.map(retryReasonFromCpp);
|
582
|
+
}
|
557
583
|
let context = null;
|
558
584
|
if (err.ctxtype === 'key_value') {
|
559
585
|
context = new errctxs.KeyValueErrorContext({
|
@@ -566,6 +592,12 @@ function contextFromCpp(err) {
|
|
566
592
|
scope: err.id ? err.id.scope : '',
|
567
593
|
context: err.enhanced_error_info ? err.enhanced_error_info.context : '',
|
568
594
|
ref: err.enhanced_error_info ? err.enhanced_error_info.reference : '',
|
595
|
+
last_dispatched_from: err.last_dispatched_from
|
596
|
+
? err.last_dispatched_from
|
597
|
+
: '',
|
598
|
+
last_dispatched_to: err.last_dispatched_to ? err.last_dispatched_to : '',
|
599
|
+
retry_attempts: err.retry_attempts ? err.retry_attempts : 0,
|
600
|
+
retry_reasons: retry_reasons,
|
569
601
|
});
|
570
602
|
}
|
571
603
|
else if (err.ctxtype === 'view') {
|
@@ -575,6 +607,12 @@ function contextFromCpp(err) {
|
|
575
607
|
parameters: err.query_string,
|
576
608
|
http_response_code: err.http_status,
|
577
609
|
http_response_body: err.http_body,
|
610
|
+
last_dispatched_from: err.last_dispatched_from
|
611
|
+
? err.last_dispatched_from
|
612
|
+
: '',
|
613
|
+
last_dispatched_to: err.last_dispatched_to ? err.last_dispatched_to : '',
|
614
|
+
retry_attempts: err.retry_attempts ? err.retry_attempts : 0,
|
615
|
+
retry_reasons: retry_reasons,
|
578
616
|
});
|
579
617
|
}
|
580
618
|
else if (err.ctxtype === 'query') {
|
@@ -584,6 +622,12 @@ function contextFromCpp(err) {
|
|
584
622
|
parameters: err.parameters,
|
585
623
|
http_response_code: err.http_status,
|
586
624
|
http_response_body: err.http_body,
|
625
|
+
last_dispatched_from: err.last_dispatched_from
|
626
|
+
? err.last_dispatched_from
|
627
|
+
: '',
|
628
|
+
last_dispatched_to: err.last_dispatched_to ? err.last_dispatched_to : '',
|
629
|
+
retry_attempts: err.retry_attempts ? err.retry_attempts : 0,
|
630
|
+
retry_reasons: retry_reasons,
|
587
631
|
});
|
588
632
|
}
|
589
633
|
else if (err.ctxtype === 'search') {
|
@@ -593,6 +637,12 @@ function contextFromCpp(err) {
|
|
593
637
|
parameters: err.parameters,
|
594
638
|
http_response_code: err.http_status,
|
595
639
|
http_response_body: err.http_body,
|
640
|
+
last_dispatched_from: err.last_dispatched_from
|
641
|
+
? err.last_dispatched_from
|
642
|
+
: '',
|
643
|
+
last_dispatched_to: err.last_dispatched_to ? err.last_dispatched_to : '',
|
644
|
+
retry_attempts: err.retry_attempts ? err.retry_attempts : 0,
|
645
|
+
retry_reasons: retry_reasons,
|
596
646
|
});
|
597
647
|
}
|
598
648
|
else if (err.ctxtype === 'analytics') {
|
@@ -602,6 +652,12 @@ function contextFromCpp(err) {
|
|
602
652
|
parameters: err.parameters,
|
603
653
|
http_response_code: err.http_status,
|
604
654
|
http_response_body: err.http_body,
|
655
|
+
last_dispatched_from: err.last_dispatched_from
|
656
|
+
? err.last_dispatched_from
|
657
|
+
: '',
|
658
|
+
last_dispatched_to: err.last_dispatched_to ? err.last_dispatched_to : '',
|
659
|
+
retry_attempts: err.retry_attempts ? err.retry_attempts : 0,
|
660
|
+
retry_reasons: retry_reasons,
|
605
661
|
});
|
606
662
|
}
|
607
663
|
else if (err.ctxtype === 'http') {
|
@@ -610,11 +666,88 @@ function contextFromCpp(err) {
|
|
610
666
|
request_path: err.path,
|
611
667
|
response_code: err.http_status,
|
612
668
|
response_body: err.http_body,
|
669
|
+
last_dispatched_from: err.last_dispatched_from
|
670
|
+
? err.last_dispatched_from
|
671
|
+
: '',
|
672
|
+
last_dispatched_to: err.last_dispatched_to ? err.last_dispatched_to : '',
|
673
|
+
retry_attempts: err.retry_attempts ? err.retry_attempts : 0,
|
674
|
+
retry_reasons: retry_reasons,
|
613
675
|
});
|
614
676
|
}
|
615
677
|
return context;
|
616
678
|
}
|
617
679
|
exports.contextFromCpp = contextFromCpp;
|
680
|
+
/**
|
681
|
+
* @internal
|
682
|
+
*/
|
683
|
+
function retryReasonFromCpp(reason) {
|
684
|
+
if (reason === binding_1.default.retry_reason.do_not_retry) {
|
685
|
+
return 'do_not_retry';
|
686
|
+
}
|
687
|
+
else if (reason === binding_1.default.retry_reason.unknown) {
|
688
|
+
return 'unknown';
|
689
|
+
}
|
690
|
+
else if (reason === binding_1.default.retry_reason.socket_not_available) {
|
691
|
+
return 'socket_not_available';
|
692
|
+
}
|
693
|
+
else if (reason === binding_1.default.retry_reason.service_not_available) {
|
694
|
+
return 'service_not_available';
|
695
|
+
}
|
696
|
+
else if (reason === binding_1.default.retry_reason.node_not_available) {
|
697
|
+
return 'node_not_available';
|
698
|
+
}
|
699
|
+
else if (reason === binding_1.default.retry_reason.key_value_not_my_vbucket) {
|
700
|
+
return 'key_value_not_my_vbucket';
|
701
|
+
}
|
702
|
+
else if (reason === binding_1.default.retry_reason.key_value_collection_outdated) {
|
703
|
+
return 'key_value_collection_outdated';
|
704
|
+
}
|
705
|
+
else if (reason === binding_1.default.retry_reason.key_value_error_map_retry_indicated) {
|
706
|
+
return 'key_value_error_map_retry_indicated';
|
707
|
+
}
|
708
|
+
else if (reason === binding_1.default.retry_reason.key_value_locked) {
|
709
|
+
return 'key_value_locked';
|
710
|
+
}
|
711
|
+
else if (reason === binding_1.default.retry_reason.key_value_temporary_failure) {
|
712
|
+
return 'key_value_temporary_failure';
|
713
|
+
}
|
714
|
+
else if (reason === binding_1.default.retry_reason.key_value_sync_write_in_progress) {
|
715
|
+
return 'key_value_sync_write_in_progress';
|
716
|
+
}
|
717
|
+
else if (reason === binding_1.default.retry_reason.key_value_sync_write_re_commit_in_progress) {
|
718
|
+
return 'key_value_sync_write_re_commit_in_progress';
|
719
|
+
}
|
720
|
+
else if (reason === binding_1.default.retry_reason.service_response_code_indicated) {
|
721
|
+
return 'service_response_code_indicated';
|
722
|
+
}
|
723
|
+
else if (reason === binding_1.default.retry_reason.socket_closed_while_in_flight) {
|
724
|
+
return 'socket_closed_while_in_flight';
|
725
|
+
}
|
726
|
+
else if (reason === binding_1.default.retry_reason.circuit_breaker_open) {
|
727
|
+
return 'circuit_breaker_open';
|
728
|
+
}
|
729
|
+
else if (reason === binding_1.default.retry_reason.query_prepared_statement_failure) {
|
730
|
+
return 'query_prepared_statement_failure';
|
731
|
+
}
|
732
|
+
else if (reason === binding_1.default.retry_reason.query_index_not_found) {
|
733
|
+
return 'query_index_not_found';
|
734
|
+
}
|
735
|
+
else if (reason === binding_1.default.retry_reason.analytics_temporary_failure) {
|
736
|
+
return 'analytics_temporary_failure';
|
737
|
+
}
|
738
|
+
else if (reason === binding_1.default.retry_reason.search_too_many_requests) {
|
739
|
+
return 'search_too_many_requests';
|
740
|
+
}
|
741
|
+
else if (reason === binding_1.default.retry_reason.views_temporary_failure) {
|
742
|
+
return 'views_temporary_failure';
|
743
|
+
}
|
744
|
+
else if (reason === binding_1.default.retry_reason.views_no_active_partition) {
|
745
|
+
return 'views_no_active_partition';
|
746
|
+
}
|
747
|
+
else {
|
748
|
+
return 'unknown';
|
749
|
+
}
|
750
|
+
}
|
618
751
|
/**
|
619
752
|
* @internal
|
620
753
|
*/
|
@@ -640,13 +773,13 @@ function errorFromCpp(err) {
|
|
640
773
|
return txnOpExeptionFromCpp(err, txnContext);
|
641
774
|
}
|
642
775
|
else if (err.ctxtype === 'transaction_exception') {
|
643
|
-
if (err.type === binding_1.default.
|
776
|
+
if (err.type === binding_1.default.transactions_failure_type.FAIL) {
|
644
777
|
return new errs.TransactionFailedError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)));
|
645
778
|
}
|
646
|
-
else if (err.type === binding_1.default.
|
779
|
+
else if (err.type === binding_1.default.transactions_failure_type.EXPIRY) {
|
647
780
|
return new errs.TransactionExpiredError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)));
|
648
781
|
}
|
649
|
-
else if (err.type === binding_1.default.
|
782
|
+
else if (err.type === binding_1.default.transactions_failure_type.COMMIT_AMBIGUOUS) {
|
650
783
|
return new errs.TransactionCommitAmbiguousError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)));
|
651
784
|
}
|
652
785
|
return new errs.TransactionFailedError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)));
|
@@ -654,6 +787,9 @@ function errorFromCpp(err) {
|
|
654
787
|
const baseErr = err;
|
655
788
|
const contextOrNull = contextFromCpp(err);
|
656
789
|
const context = contextOrNull ? contextOrNull : undefined;
|
790
|
+
if ('retry_reasons' in baseErr && Array.isArray(baseErr.retry_reasons)) {
|
791
|
+
baseErr.retry_reasons = baseErr.retry_reasons.map(retryReasonFromCpp);
|
792
|
+
}
|
657
793
|
switch (err.code) {
|
658
794
|
case binding_1.default.errc_common.request_canceled:
|
659
795
|
return new errs.RequestCanceledError(baseErr, context);
|
@@ -1431,3 +1567,69 @@ function authDomainFromCpp(domain) {
|
|
1431
1567
|
throw new errs.InvalidArgumentError(new Error('Unrecognized CppManagementRbacAuthDomain.'));
|
1432
1568
|
}
|
1433
1569
|
exports.authDomainFromCpp = authDomainFromCpp;
|
1570
|
+
/**
|
1571
|
+
* @internal
|
1572
|
+
*/
|
1573
|
+
function readPreferenceToCpp(preference) {
|
1574
|
+
// Unspecified is allowed, and means no preference.
|
1575
|
+
if (preference === null || preference === undefined) {
|
1576
|
+
return binding_1.default.read_preference.no_preference;
|
1577
|
+
}
|
1578
|
+
if (preference === generaltypes_1.ReadPreference.NoPreference) {
|
1579
|
+
return binding_1.default.read_preference.no_preference;
|
1580
|
+
}
|
1581
|
+
else if (preference === generaltypes_1.ReadPreference.SelectedServerGroup) {
|
1582
|
+
return binding_1.default.read_preference.selected_server_group;
|
1583
|
+
}
|
1584
|
+
throw new errs.InvalidArgumentError(new Error('Unrecognized ReadPreference.'));
|
1585
|
+
}
|
1586
|
+
exports.readPreferenceToCpp = readPreferenceToCpp;
|
1587
|
+
/**
|
1588
|
+
* @internal
|
1589
|
+
*/
|
1590
|
+
function transactionGetMultiModeToCpp(mode) {
|
1591
|
+
if (mode === null || mode === undefined) {
|
1592
|
+
return undefined;
|
1593
|
+
}
|
1594
|
+
if (mode === transactions_1.TransactionGetMultiMode.PrioritiseLatency) {
|
1595
|
+
return binding_1.default.transactions_transaction_get_multi_mode.prioritise_latency;
|
1596
|
+
}
|
1597
|
+
else if (mode === transactions_1.TransactionGetMultiMode.DisableReadSkewDetection) {
|
1598
|
+
return binding_1.default.transactions_transaction_get_multi_mode
|
1599
|
+
.disable_read_skew_detection;
|
1600
|
+
}
|
1601
|
+
else if (mode === transactions_1.TransactionGetMultiMode.PrioritiseReadSkewDetection) {
|
1602
|
+
return binding_1.default.transactions_transaction_get_multi_mode
|
1603
|
+
.prioritise_read_skew_detection;
|
1604
|
+
}
|
1605
|
+
throw new errs.InvalidArgumentError(new Error('Unrecognized TransactionGetMultiMode.'));
|
1606
|
+
}
|
1607
|
+
exports.transactionGetMultiModeToCpp = transactionGetMultiModeToCpp;
|
1608
|
+
/**
|
1609
|
+
* @internal
|
1610
|
+
*/
|
1611
|
+
function transactionGetMultiReplicasFromPreferredServerGroupModeToCpp(mode) {
|
1612
|
+
if (mode === null || mode === undefined) {
|
1613
|
+
return undefined;
|
1614
|
+
}
|
1615
|
+
if (mode ===
|
1616
|
+
transactions_1.TransactionGetMultiReplicasFromPreferredServerGroupMode.PrioritiseLatency) {
|
1617
|
+
return binding_1.default
|
1618
|
+
.transactions_transaction_get_multi_replicas_from_preferred_server_group_mode
|
1619
|
+
.prioritise_latency;
|
1620
|
+
}
|
1621
|
+
else if (mode ===
|
1622
|
+
transactions_1.TransactionGetMultiReplicasFromPreferredServerGroupMode.DisableReadSkewDetection) {
|
1623
|
+
return binding_1.default
|
1624
|
+
.transactions_transaction_get_multi_replicas_from_preferred_server_group_mode
|
1625
|
+
.disable_read_skew_detection;
|
1626
|
+
}
|
1627
|
+
else if (mode ===
|
1628
|
+
transactions_1.TransactionGetMultiReplicasFromPreferredServerGroupMode.PrioritiseReadSkewDetection) {
|
1629
|
+
return binding_1.default
|
1630
|
+
.transactions_transaction_get_multi_replicas_from_preferred_server_group_mode
|
1631
|
+
.prioritise_read_skew_detection;
|
1632
|
+
}
|
1633
|
+
throw new errs.InvalidArgumentError(new Error('Unrecognized TransactionGetMultiReplicasFromPreferredServerGroupMode.'));
|
1634
|
+
}
|
1635
|
+
exports.transactionGetMultiReplicasFromPreferredServerGroupModeToCpp = transactionGetMultiReplicasFromPreferredServerGroupModeToCpp;
|
package/dist/cluster.d.ts
CHANGED
@@ -98,6 +98,33 @@ export interface DnsConfig {
|
|
98
98
|
*/
|
99
99
|
dnsSrvTimeout?: number;
|
100
100
|
}
|
101
|
+
/**
|
102
|
+
* Specifies Application Telemetry options for the client.
|
103
|
+
*
|
104
|
+
* @category Core
|
105
|
+
*/
|
106
|
+
export interface AppTelemetryConfig {
|
107
|
+
/**
|
108
|
+
* Specifies if application telemetry feature should be enabled or not.
|
109
|
+
*/
|
110
|
+
enabled?: boolean;
|
111
|
+
/**
|
112
|
+
* Specifies an endpoint to override the application metrics endpoint discovered during configuration.
|
113
|
+
*/
|
114
|
+
endpoint?: string;
|
115
|
+
/**
|
116
|
+
* Specifies the time to wait before attempting a websocket reconnection, specified in millseconds.
|
117
|
+
*/
|
118
|
+
backoff?: number;
|
119
|
+
/**
|
120
|
+
* Specifies the time to wait between sending consecutive websocket PING commands to the server, specified in millseconds.
|
121
|
+
*/
|
122
|
+
pingInterval?: number;
|
123
|
+
/**
|
124
|
+
* Specifies the time allowed for the server to respond to websocket PING command, specified in millseconds.
|
125
|
+
*/
|
126
|
+
pingTimeout?: number;
|
127
|
+
}
|
101
128
|
/**
|
102
129
|
* Specifies the options which can be specified when connecting
|
103
130
|
* to a cluster.
|
@@ -150,6 +177,16 @@ export interface ConnectOptions {
|
|
150
177
|
*
|
151
178
|
*/
|
152
179
|
configProfile?: string;
|
180
|
+
/**
|
181
|
+
* Specifies the preferred server group to use for replica operations that specify a non-default
|
182
|
+
* read preference.
|
183
|
+
*/
|
184
|
+
preferredServerGroup?: string;
|
185
|
+
/**
|
186
|
+
* Specifies the Application Telemetry config for connections of this cluster.
|
187
|
+
*
|
188
|
+
*/
|
189
|
+
appTelemetryConfig?: AppTelemetryConfig;
|
153
190
|
}
|
154
191
|
/**
|
155
192
|
* Exposes the operations which are available to be performed against a cluster.
|
@@ -178,6 +215,8 @@ export declare class Cluster {
|
|
178
215
|
private _transactions?;
|
179
216
|
private _openBuckets;
|
180
217
|
private _dnsConfig;
|
218
|
+
private _preferredServerGroup;
|
219
|
+
private _appTelemetryConfig;
|
181
220
|
/**
|
182
221
|
* @internal
|
183
222
|
*/
|
package/dist/cluster.js
CHANGED
@@ -110,7 +110,7 @@ class Cluster {
|
|
110
110
|
[util_1.inspect.custom]() {
|
111
111
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
112
112
|
const { _auth, ...rest } = this;
|
113
|
-
return { ...rest, _auth:
|
113
|
+
return { ...rest, _auth: '***hidden***' };
|
114
114
|
}
|
115
115
|
/**
|
116
116
|
* @internal
|
@@ -118,7 +118,7 @@ class Cluster {
|
|
118
118
|
toJSON() {
|
119
119
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
120
120
|
const { _auth, ...rest } = this;
|
121
|
-
return { ...rest, _auth:
|
121
|
+
return { ...rest, _auth: '***hidden***' };
|
122
122
|
}
|
123
123
|
/**
|
124
124
|
@internal
|
@@ -156,6 +156,9 @@ class Cluster {
|
|
156
156
|
else {
|
157
157
|
this._transcoder = new transcoders_1.DefaultTranscoder();
|
158
158
|
}
|
159
|
+
if (options.preferredServerGroup) {
|
160
|
+
this._preferredServerGroup = options.preferredServerGroup;
|
161
|
+
}
|
159
162
|
if (options.transactions) {
|
160
163
|
this._txnConfig = options.transactions;
|
161
164
|
}
|
@@ -193,6 +196,18 @@ class Cluster {
|
|
193
196
|
else {
|
194
197
|
this._dnsConfig = null;
|
195
198
|
}
|
199
|
+
if (options.appTelemetryConfig) {
|
200
|
+
this._appTelemetryConfig = {
|
201
|
+
enabled: options.appTelemetryConfig.enabled,
|
202
|
+
endpoint: options.appTelemetryConfig.endpoint,
|
203
|
+
backoff: options.appTelemetryConfig.backoff,
|
204
|
+
pingInterval: options.appTelemetryConfig.pingInterval,
|
205
|
+
pingTimeout: options.appTelemetryConfig.pingTimeout,
|
206
|
+
};
|
207
|
+
}
|
208
|
+
else {
|
209
|
+
this._appTelemetryConfig = null;
|
210
|
+
}
|
196
211
|
this._openBuckets = [];
|
197
212
|
this._conn = new binding_1.default.Connection();
|
198
213
|
}
|
@@ -433,6 +448,9 @@ class Cluster {
|
|
433
448
|
if (this.resolveTimeout) {
|
434
449
|
dsnObj.options['resolve_timeout'] = this.resolveTimeout.toString();
|
435
450
|
}
|
451
|
+
if (this._preferredServerGroup) {
|
452
|
+
dsnObj.options['server_group'] = this._preferredServerGroup;
|
453
|
+
}
|
436
454
|
const connStr = dsnObj.toString();
|
437
455
|
const authOpts = {};
|
438
456
|
// lets allow `allowed_sasl_mechanisms` to override legacy connstr option
|
@@ -463,7 +481,7 @@ class Cluster {
|
|
463
481
|
authOpts.key_path = certAuth.keyPath;
|
464
482
|
}
|
465
483
|
}
|
466
|
-
this._conn.connect(connStr, authOpts, this._dnsConfig, (cppErr) => {
|
484
|
+
this._conn.connect(connStr, authOpts, this._dnsConfig, this._appTelemetryConfig, (cppErr) => {
|
467
485
|
if (cppErr) {
|
468
486
|
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
469
487
|
return reject(err);
|
package/dist/collection.d.ts
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
/// <reference types="node" />
|
2
|
+
/// <reference types="node" />
|
2
3
|
import { IncrementOptions, DecrementOptions, AppendOptions, PrependOptions, BinaryCollection } from './binarycollection';
|
3
4
|
import { CppDocumentId, CppConnection, CppScanIterator, CppRangeScanOrchestratorOptions } from './binding';
|
4
5
|
import { Cluster } from './cluster';
|
5
6
|
import { CounterResult, ExistsResult, GetReplicaResult, GetResult, LookupInResult, LookupInReplicaResult, MutateInResult, MutationResult, ScanResult } from './crudoptypes';
|
6
7
|
import { CouchbaseList, CouchbaseMap, CouchbaseQueue, CouchbaseSet } from './datastructures';
|
7
|
-
import { DurabilityLevel, StoreSemantics } from './generaltypes';
|
8
|
+
import { DurabilityLevel, ReadPreference, StoreSemantics } from './generaltypes';
|
8
9
|
import { MutationState } from './mutationstate';
|
9
10
|
import { CollectionQueryIndexManager } from './queryindexmanager';
|
10
11
|
import { RangeScan, SamplingScan, PrefixScan } from './rangeScan';
|
@@ -200,6 +201,10 @@ export interface GetAnyReplicaOptions {
|
|
200
201
|
* The timeout for this operation, represented in milliseconds.
|
201
202
|
*/
|
202
203
|
timeout?: number;
|
204
|
+
/**
|
205
|
+
* Specifies how replica nodes will be filtered.
|
206
|
+
*/
|
207
|
+
readPreference?: ReadPreference;
|
203
208
|
}
|
204
209
|
/**
|
205
210
|
* @category Key-Value
|
@@ -213,6 +218,10 @@ export interface GetAllReplicasOptions {
|
|
213
218
|
* The timeout for this operation, represented in milliseconds.
|
214
219
|
*/
|
215
220
|
timeout?: number;
|
221
|
+
/**
|
222
|
+
* Specifies how replica nodes will be filtered.
|
223
|
+
*/
|
224
|
+
readPreference?: ReadPreference;
|
216
225
|
}
|
217
226
|
/**
|
218
227
|
* @category Key-Value
|
@@ -285,6 +294,10 @@ export interface LookupInAnyReplicaOptions {
|
|
285
294
|
* The timeout for this operation, represented in milliseconds.
|
286
295
|
*/
|
287
296
|
timeout?: number;
|
297
|
+
/**
|
298
|
+
* Specifies how replica nodes will be filtered.
|
299
|
+
*/
|
300
|
+
readPreference?: ReadPreference;
|
288
301
|
}
|
289
302
|
/**
|
290
303
|
* @category Key-Value
|
@@ -294,6 +307,10 @@ export interface LookupInAllReplicasOptions {
|
|
294
307
|
* The timeout for this operation, represented in milliseconds.
|
295
308
|
*/
|
296
309
|
timeout?: number;
|
310
|
+
/**
|
311
|
+
* Specifies how replica nodes will be filtered.
|
312
|
+
*/
|
313
|
+
readPreference?: ReadPreference;
|
297
314
|
}
|
298
315
|
/**
|
299
316
|
* @category Key-Value
|
@@ -469,6 +486,7 @@ export declare class Collection {
|
|
469
486
|
_getReplica(key: string, getAllReplicas: boolean, options?: {
|
470
487
|
transcoder?: Transcoder;
|
471
488
|
timeout?: number;
|
489
|
+
readPreference?: ReadPreference;
|
472
490
|
}, callback?: NodeCallback<GetReplicaResult[]>): StreamableReplicasPromise<GetReplicaResult[], GetReplicaResult>;
|
473
491
|
/**
|
474
492
|
* Retrieves the value of the document from any of the available replicas. This
|
@@ -596,6 +614,7 @@ export declare class Collection {
|
|
596
614
|
*/
|
597
615
|
_lookupInReplica(key: string, lookupInAllReplicas: boolean, specs: LookupInSpec[], options?: {
|
598
616
|
timeout?: number;
|
617
|
+
readPreference?: ReadPreference;
|
599
618
|
}, callback?: NodeCallback<LookupInReplicaResult[]>): StreamableReplicasPromise<LookupInReplicaResult[], LookupInReplicaResult>;
|
600
619
|
/**
|
601
620
|
* Performs a lookup-in operation against a document, fetching individual fields or
|