couchbase 4.4.2 → 4.4.4

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.
Files changed (252) hide show
  1. package/BUILDING.md +182 -0
  2. package/CMakeLists.txt +13 -0
  3. package/CONTRIBUTING.md +1 -1
  4. package/README.md +4 -2
  5. package/deps/couchbase-cxx-cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/BUILDING.md +206 -0
  6. package/deps/couchbase-cxx-client/CMakeLists.txt +18 -13
  7. package/deps/couchbase-cxx-client/README.md +2 -2
  8. package/deps/couchbase-cxx-client/cmake/APKBUILD.in +54 -0
  9. package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +0 -5
  10. package/deps/couchbase-cxx-client/cmake/Packaging.cmake +177 -10
  11. package/deps/couchbase-cxx-client/cmake/RPath.cmake +10 -0
  12. package/deps/couchbase-cxx-client/cmake/Testing.cmake +1 -1
  13. package/deps/couchbase-cxx-client/cmake/VersionInfo.cmake +28 -2
  14. package/deps/couchbase-cxx-client/cmake/build_version.hxx.in +1 -0
  15. package/deps/couchbase-cxx-client/cmake/couchbase-cxx-client.spec.in +45 -6
  16. package/deps/couchbase-cxx-client/cmake/couchbase_cxx_client.pc.in +2 -2
  17. package/deps/couchbase-cxx-client/cmake/debian/changelog.in +5 -0
  18. package/deps/couchbase-cxx-client/cmake/debian/compat +1 -0
  19. package/deps/couchbase-cxx-client/cmake/debian/control +40 -0
  20. package/deps/couchbase-cxx-client/cmake/debian/rules +41 -0
  21. package/deps/couchbase-cxx-client/cmake/debian/source/format +1 -0
  22. package/deps/couchbase-cxx-client/core/agent_group.cxx +8 -0
  23. package/deps/couchbase-cxx-client/core/agent_group.hxx +4 -0
  24. package/deps/couchbase-cxx-client/core/bucket.cxx +16 -20
  25. package/deps/couchbase-cxx-client/core/bucket.hxx +12 -12
  26. package/deps/couchbase-cxx-client/core/cluster.cxx +44 -52
  27. package/deps/couchbase-cxx-client/core/cluster_agent.cxx +8 -0
  28. package/deps/couchbase-cxx-client/core/cluster_agent.hxx +4 -0
  29. package/deps/couchbase-cxx-client/core/collections_component.cxx +2 -2
  30. package/deps/couchbase-cxx-client/core/columnar/agent.cxx +2 -2
  31. package/deps/couchbase-cxx-client/core/columnar/agent.hxx +1 -1
  32. package/deps/couchbase-cxx-client/core/columnar/management_component.cxx +3 -3
  33. package/deps/couchbase-cxx-client/core/columnar/query_component.cxx +103 -45
  34. package/deps/couchbase-cxx-client/core/columnar/query_component.hxx +1 -0
  35. package/deps/couchbase-cxx-client/core/free_form_http_request.hxx +8 -0
  36. package/deps/couchbase-cxx-client/core/http_component.cxx +55 -24
  37. package/deps/couchbase-cxx-client/core/http_component.hxx +4 -0
  38. package/deps/couchbase-cxx-client/core/impl/analytics.cxx +1 -0
  39. package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +15 -15
  40. package/deps/couchbase-cxx-client/core/impl/bootstrap_error.hxx +10 -2
  41. package/deps/couchbase-cxx-client/core/impl/bucket.cxx +1 -1
  42. package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +6 -6
  43. package/deps/couchbase-cxx-client/core/impl/cluster.cxx +36 -40
  44. package/deps/couchbase-cxx-client/core/impl/collection.cxx +29 -5
  45. package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +5 -5
  46. package/deps/couchbase-cxx-client/core/impl/error.cxx +24 -3
  47. package/deps/couchbase-cxx-client/core/impl/get_replica.hxx +2 -0
  48. package/deps/couchbase-cxx-client/core/impl/lookup_in_replica.hxx +2 -0
  49. package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +13 -5
  50. package/deps/couchbase-cxx-client/core/impl/observe_poll.hxx +1 -3
  51. package/deps/couchbase-cxx-client/core/impl/observe_seqno.hxx +2 -0
  52. package/deps/couchbase-cxx-client/core/impl/query.cxx +1 -0
  53. package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +6 -6
  54. package/deps/couchbase-cxx-client/core/impl/scan_result.cxx +1 -1
  55. package/deps/couchbase-cxx-client/core/impl/search.cxx +2 -0
  56. package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +12 -12
  57. package/deps/couchbase-cxx-client/core/io/http_command.hxx +31 -20
  58. package/deps/couchbase-cxx-client/core/io/http_session.cxx +5 -0
  59. package/deps/couchbase-cxx-client/core/io/http_session.hxx +17 -4
  60. package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +97 -49
  61. package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +15 -14
  62. package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +48 -33
  63. package/deps/couchbase-cxx-client/core/io/streams.cxx +256 -0
  64. package/deps/couchbase-cxx-client/core/io/streams.hxx +31 -155
  65. package/deps/couchbase-cxx-client/core/logger/configuration.hxx +5 -0
  66. package/deps/couchbase-cxx-client/core/logger/custom_rotating_file_sink.cxx +2 -3
  67. package/deps/couchbase-cxx-client/core/logger/logger.cxx +39 -7
  68. package/deps/couchbase-cxx-client/core/logger/logger.hxx +7 -0
  69. package/deps/couchbase-cxx-client/core/meta/features.hxx +11 -0
  70. package/deps/couchbase-cxx-client/core/meta/version.cxx +47 -6
  71. package/deps/couchbase-cxx-client/core/metrics/meter_wrapper.cxx +188 -0
  72. package/deps/couchbase-cxx-client/core/metrics/meter_wrapper.hxx +73 -0
  73. package/deps/couchbase-cxx-client/core/operations/document_analytics.cxx +23 -17
  74. package/deps/couchbase-cxx-client/core/operations/document_analytics.hxx +1 -0
  75. package/deps/couchbase-cxx-client/core/operations/document_append.hxx +2 -0
  76. package/deps/couchbase-cxx-client/core/operations/document_decrement.hxx +2 -0
  77. package/deps/couchbase-cxx-client/core/operations/document_exists.hxx +2 -0
  78. package/deps/couchbase-cxx-client/core/operations/document_get.hxx +2 -0
  79. package/deps/couchbase-cxx-client/core/operations/document_get_all_replicas.hxx +2 -0
  80. package/deps/couchbase-cxx-client/core/operations/document_get_and_lock.hxx +2 -0
  81. package/deps/couchbase-cxx-client/core/operations/document_get_and_touch.hxx +2 -0
  82. package/deps/couchbase-cxx-client/core/operations/document_get_any_replica.hxx +2 -0
  83. package/deps/couchbase-cxx-client/core/operations/document_get_projected.hxx +2 -0
  84. package/deps/couchbase-cxx-client/core/operations/document_increment.hxx +2 -0
  85. package/deps/couchbase-cxx-client/core/operations/document_insert.hxx +2 -0
  86. package/deps/couchbase-cxx-client/core/operations/document_lookup_in.hxx +2 -0
  87. package/deps/couchbase-cxx-client/core/operations/document_lookup_in_all_replicas.hxx +2 -0
  88. package/deps/couchbase-cxx-client/core/operations/document_lookup_in_any_replica.hxx +2 -0
  89. package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +2 -0
  90. package/deps/couchbase-cxx-client/core/operations/document_prepend.hxx +2 -0
  91. package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -0
  92. package/deps/couchbase-cxx-client/core/operations/document_remove.hxx +2 -0
  93. package/deps/couchbase-cxx-client/core/operations/document_replace.hxx +2 -0
  94. package/deps/couchbase-cxx-client/core/operations/document_search.hxx +1 -0
  95. package/deps/couchbase-cxx-client/core/operations/document_touch.hxx +2 -0
  96. package/deps/couchbase-cxx-client/core/operations/document_unlock.hxx +2 -0
  97. package/deps/couchbase-cxx-client/core/operations/document_upsert.hxx +2 -0
  98. package/deps/couchbase-cxx-client/core/operations/document_view.hxx +1 -0
  99. package/deps/couchbase-cxx-client/core/operations/http_noop.hxx +2 -0
  100. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.hxx +1 -0
  101. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.hxx +1 -0
  102. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_get_all.hxx +1 -0
  103. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.hxx +1 -0
  104. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.hxx +1 -0
  105. package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
  106. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_create.hxx +1 -0
  107. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.hxx +1 -0
  108. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_get_all.hxx +1 -0
  109. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.hxx +1 -0
  110. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_create.hxx +1 -0
  111. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.hxx +1 -0
  112. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.hxx +1 -0
  113. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +23 -15
  114. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.hxx +4 -3
  115. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_replace.hxx +1 -0
  116. package/deps/couchbase-cxx-client/core/operations/management/bucket_create.hxx +1 -0
  117. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +2 -1
  118. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.hxx +1 -0
  119. package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +3 -1
  120. package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.hxx +1 -0
  121. package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +3 -1
  122. package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.hxx +1 -0
  123. package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +3 -1
  124. package/deps/couchbase-cxx-client/core/operations/management/bucket_get.hxx +1 -0
  125. package/deps/couchbase-cxx-client/core/operations/management/bucket_get_all.hxx +1 -0
  126. package/deps/couchbase-cxx-client/core/operations/management/bucket_update.cxx +3 -1
  127. package/deps/couchbase-cxx-client/core/operations/management/bucket_update.hxx +1 -0
  128. package/deps/couchbase-cxx-client/core/operations/management/change_password.hxx +1 -0
  129. package/deps/couchbase-cxx-client/core/operations/management/cluster_describe.hxx +1 -0
  130. package/deps/couchbase-cxx-client/core/operations/management/cluster_developer_preview_enable.hxx +1 -0
  131. package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +3 -2
  132. package/deps/couchbase-cxx-client/core/operations/management/collection_create.hxx +2 -0
  133. package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +5 -2
  134. package/deps/couchbase-cxx-client/core/operations/management/collection_drop.hxx +1 -0
  135. package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +4 -2
  136. package/deps/couchbase-cxx-client/core/operations/management/collection_update.hxx +2 -0
  137. package/deps/couchbase-cxx-client/core/operations/management/collections_manifest_get.hxx +2 -0
  138. package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.hxx +3 -2
  139. package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.hxx +3 -2
  140. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_all_functions.hxx +3 -2
  141. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.hxx +3 -2
  142. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_status.hxx +3 -2
  143. package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.hxx +3 -2
  144. package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.hxx +3 -2
  145. package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.hxx +3 -2
  146. package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.hxx +3 -2
  147. package/deps/couchbase-cxx-client/core/operations/management/freeform.hxx +2 -0
  148. package/deps/couchbase-cxx-client/core/operations/management/group_drop.hxx +1 -0
  149. package/deps/couchbase-cxx-client/core/operations/management/group_get.hxx +1 -0
  150. package/deps/couchbase-cxx-client/core/operations/management/group_get_all.hxx +1 -0
  151. package/deps/couchbase-cxx-client/core/operations/management/group_upsert.cxx +3 -3
  152. package/deps/couchbase-cxx-client/core/operations/management/group_upsert.hxx +1 -0
  153. package/deps/couchbase-cxx-client/core/operations/management/query_index_build.hxx +2 -0
  154. package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +3 -0
  155. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.hxx +1 -0
  156. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.hxx +1 -0
  157. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +2 -0
  158. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all_deferred.hxx +3 -0
  159. package/deps/couchbase-cxx-client/core/operations/management/role_get_all.hxx +1 -0
  160. package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +2 -1
  161. package/deps/couchbase-cxx-client/core/operations/management/scope_create.hxx +1 -0
  162. package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +4 -1
  163. package/deps/couchbase-cxx-client/core/operations/management/scope_drop.hxx +1 -0
  164. package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +3 -1
  165. package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.hxx +1 -0
  166. package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +1 -0
  167. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +3 -2
  168. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.hxx +1 -0
  169. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +3 -2
  170. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.hxx +1 -0
  171. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +3 -2
  172. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.hxx +1 -0
  173. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +3 -2
  174. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.hxx +1 -0
  175. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +5 -2
  176. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.hxx +1 -0
  177. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +5 -2
  178. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.hxx +1 -0
  179. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +4 -2
  180. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.hxx +1 -0
  181. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +3 -2
  182. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.hxx +2 -0
  183. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.hxx +1 -0
  184. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +5 -2
  185. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.hxx +1 -0
  186. package/deps/couchbase-cxx-client/core/operations/management/user_drop.hxx +1 -0
  187. package/deps/couchbase-cxx-client/core/operations/management/user_get.hxx +1 -0
  188. package/deps/couchbase-cxx-client/core/operations/management/user_get_all.hxx +1 -0
  189. package/deps/couchbase-cxx-client/core/operations/management/user_upsert.cxx +3 -3
  190. package/deps/couchbase-cxx-client/core/operations/management/user_upsert.hxx +1 -0
  191. package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +2 -1
  192. package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.hxx +1 -0
  193. package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +2 -1
  194. package/deps/couchbase-cxx-client/core/operations/management/view_index_get.hxx +1 -0
  195. package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +3 -1
  196. package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.hxx +2 -0
  197. package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +2 -1
  198. package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.hxx +1 -0
  199. package/deps/couchbase-cxx-client/core/origin.cxx +37 -17
  200. package/deps/couchbase-cxx-client/core/platform/base64.cc +1 -1
  201. package/deps/couchbase-cxx-client/core/platform/random.cc +2 -0
  202. package/deps/couchbase-cxx-client/core/platform/uuid.h +6 -6
  203. package/deps/couchbase-cxx-client/core/row_streamer.cxx +1 -1
  204. package/deps/couchbase-cxx-client/core/sasl/scram-sha/stringutils.cc +1 -1
  205. package/deps/couchbase-cxx-client/core/sasl/scram-sha/stringutils.h +4 -4
  206. package/deps/couchbase-cxx-client/core/topology/configuration.hxx +2 -0
  207. package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +8 -0
  208. package/deps/couchbase-cxx-client/core/tracing/constants.hxx +3 -0
  209. package/deps/couchbase-cxx-client/core/tracing/tracer_wrapper.cxx +87 -0
  210. package/deps/couchbase-cxx-client/core/tracing/tracer_wrapper.hxx +57 -0
  211. package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.hxx +9 -21
  212. package/deps/couchbase-cxx-client/core/transactions/attempt_context.hxx +6 -33
  213. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +57 -56
  214. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +17 -18
  215. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +2 -2
  216. package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +2 -2
  217. package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.hxx +0 -20
  218. package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +2 -2
  219. package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +128 -52
  220. package/deps/couchbase-cxx-client/couchbase/analytics_options.hxx +4 -3
  221. package/deps/couchbase-cxx-client/couchbase/codec/tao_json_serializer.hxx +1 -1
  222. package/deps/couchbase-cxx-client/couchbase/common_options.hxx +16 -1
  223. package/deps/couchbase-cxx-client/couchbase/metrics/otel_meter.hxx +16 -20
  224. package/deps/couchbase-cxx-client/couchbase/mutate_in_specs.hxx +2 -2
  225. package/deps/couchbase-cxx-client/couchbase/query_options.hxx +4 -3
  226. package/deps/couchbase-cxx-client/couchbase/search_options.hxx +1 -1
  227. package/dist/analyticsindexmanager.d.ts +98 -14
  228. package/dist/analyticsindexmanager.js +452 -411
  229. package/dist/binding.d.ts +53 -4
  230. package/dist/bindingutilities.d.ts +26 -1
  231. package/dist/bindingutilities.js +108 -1
  232. package/dist/couchbase.d.ts +3 -1
  233. package/dist/couchbase.js +2 -0
  234. package/dist/rangeScan.d.ts +1 -1
  235. package/dist/rangeScan.js +1 -1
  236. package/dist/transactions.d.ts +34 -3
  237. package/dist/transactions.js +25 -18
  238. package/dist/transcoders.d.ts +68 -0
  239. package/dist/transcoders.js +194 -1
  240. package/dist/usermanager.d.ts +14 -14
  241. package/dist/usermanager.js +178 -228
  242. package/dist/utilities.js +4 -6
  243. package/dist/utilities_internal.js +1 -2
  244. package/package.json +9 -8
  245. package/src/binding.cpp +13 -13
  246. package/src/connection.cpp +22 -0
  247. package/src/connection.hpp +12 -0
  248. package/src/connection_autogen.cpp +100 -0
  249. package/src/jstocbpp_autogen.hpp +315 -8
  250. package/src/jstocbpp_transactions.hpp +1 -2
  251. package/tools/gen-bindings-js.js +38 -3
  252. package/tools/gen-bindings-json.py +575 -328
package/dist/binding.d.ts CHANGED
@@ -329,6 +329,10 @@ export interface CppManagementRbacRole {
329
329
  export interface CppManagementRbacRoleAndDescription {
330
330
  display_name: string;
331
331
  description: string;
332
+ name: string;
333
+ bucket?: string;
334
+ scope?: string;
335
+ collection?: string;
332
336
  }
333
337
  export interface CppManagementRbacOrigin {
334
338
  type: string;
@@ -336,6 +340,10 @@ export interface CppManagementRbacOrigin {
336
340
  }
337
341
  export interface CppManagementRbacRoleAndOrigins {
338
342
  origins: CppManagementRbacOrigin[];
343
+ name: string;
344
+ bucket?: string;
345
+ scope?: string;
346
+ collection?: string;
339
347
  }
340
348
  export interface CppManagementRbacUser {
341
349
  username: string;
@@ -349,6 +357,11 @@ export interface CppManagementRbacUserAndMetadata {
349
357
  effective_roles: CppManagementRbacRoleAndOrigins[];
350
358
  password_changed?: string;
351
359
  external_groups: string[];
360
+ username: string;
361
+ display_name?: string;
362
+ groups: string[];
363
+ roles: CppManagementRbacRole[];
364
+ password?: string;
352
365
  }
353
366
  export interface CppManagementRbacGroup {
354
367
  name: string;
@@ -1592,6 +1605,21 @@ export interface CppManagementAnalyticsLinkReplaceResponseProblem {
1592
1605
  code: number;
1593
1606
  message: string;
1594
1607
  }
1608
+ export interface CppManagementAnalyticsLinkReplaceAzureBlobExternalLinkRequest {
1609
+ link: CppManagementAnalyticsAzureBlobExternalLink;
1610
+ client_context_id?: string;
1611
+ timeout?: CppMilliseconds;
1612
+ }
1613
+ export interface CppManagementAnalyticsLinkReplaceCouchbaseRemoteLinkRequest {
1614
+ link: CppManagementAnalyticsCouchbaseRemoteLink;
1615
+ client_context_id?: string;
1616
+ timeout?: CppMilliseconds;
1617
+ }
1618
+ export interface CppManagementAnalyticsLinkReplaceS3ExternalLinkRequest {
1619
+ link: CppManagementAnalyticsS3ExternalLink;
1620
+ client_context_id?: string;
1621
+ timeout?: CppMilliseconds;
1622
+ }
1595
1623
  export interface CppManagementAnalyticsLinkDisconnectResponse {
1596
1624
  status: string;
1597
1625
  errors: CppManagementAnalyticsLinkDisconnectResponseProblem[];
@@ -1749,6 +1777,21 @@ export interface CppManagementAnalyticsLinkCreateResponseProblem {
1749
1777
  code: number;
1750
1778
  message: string;
1751
1779
  }
1780
+ export interface CppManagementAnalyticsLinkCreateAzureBlobExternalLinkRequest {
1781
+ link: CppManagementAnalyticsAzureBlobExternalLink;
1782
+ client_context_id?: string;
1783
+ timeout?: CppMilliseconds;
1784
+ }
1785
+ export interface CppManagementAnalyticsLinkCreateCouchbaseRemoteLinkRequest {
1786
+ link: CppManagementAnalyticsCouchbaseRemoteLink;
1787
+ client_context_id?: string;
1788
+ timeout?: CppMilliseconds;
1789
+ }
1790
+ export interface CppManagementAnalyticsLinkCreateS3ExternalLinkRequest {
1791
+ link: CppManagementAnalyticsS3ExternalLink;
1792
+ client_context_id?: string;
1793
+ timeout?: CppMilliseconds;
1794
+ }
1752
1795
  export interface CppManagementEventingDropFunctionResponse {
1753
1796
  error?: CppManagementEventingProblem;
1754
1797
  }
@@ -1914,9 +1957,9 @@ export interface CppManagementAnalyticsLinkGetAllResponseProblem {
1914
1957
  message: string;
1915
1958
  }
1916
1959
  export interface CppManagementAnalyticsLinkGetAllRequest {
1917
- link_type: string;
1918
- link_name: string;
1919
- dataverse_name: string;
1960
+ link_type?: string;
1961
+ link_name?: string;
1962
+ dataverse_name?: string;
1920
1963
  client_context_id?: string;
1921
1964
  timeout?: CppMilliseconds;
1922
1965
  }
@@ -2076,6 +2119,9 @@ export interface CppConnectionAutogen {
2076
2119
  managementScopeCreate(options: CppManagementScopeCreateRequest, callback: (err: CppError | null, result: CppManagementScopeCreateResponse) => void): void;
2077
2120
  managementEventingGetFunction(options: CppManagementEventingGetFunctionRequest, callback: (err: CppError | null, result: CppManagementEventingGetFunctionResponse) => void): void;
2078
2121
  managementViewIndexDrop(options: CppManagementViewIndexDropRequest, callback: (err: CppError | null, result: CppManagementViewIndexDropResponse) => void): void;
2122
+ managementAnalyticsLinkReplaceAzureBlobExternalLink(options: CppManagementAnalyticsLinkReplaceAzureBlobExternalLinkRequest, callback: (err: CppError | null, result: CppManagementAnalyticsLinkReplaceResponse) => void): void;
2123
+ managementAnalyticsLinkReplaceCouchbaseRemoteLink(options: CppManagementAnalyticsLinkReplaceCouchbaseRemoteLinkRequest, callback: (err: CppError | null, result: CppManagementAnalyticsLinkReplaceResponse) => void): void;
2124
+ managementAnalyticsLinkReplaceS3ExternalLink(options: CppManagementAnalyticsLinkReplaceS3ExternalLinkRequest, callback: (err: CppError | null, result: CppManagementAnalyticsLinkReplaceResponse) => void): void;
2079
2125
  managementAnalyticsLinkDisconnect(options: CppManagementAnalyticsLinkDisconnectRequest, callback: (err: CppError | null, result: CppManagementAnalyticsLinkDisconnectResponse) => void): void;
2080
2126
  managementUserUpsert(options: CppManagementUserUpsertRequest, callback: (err: CppError | null, result: CppManagementUserUpsertResponse) => void): void;
2081
2127
  managementEventingGetStatus(options: CppManagementEventingGetStatusRequest, callback: (err: CppError | null, result: CppManagementEventingGetStatusResponse) => void): void;
@@ -2091,6 +2137,9 @@ export interface CppConnectionAutogen {
2091
2137
  managementSearchIndexControlQuery(options: CppManagementSearchIndexControlQueryRequest, callback: (err: CppError | null, result: CppManagementSearchIndexControlQueryResponse) => void): void;
2092
2138
  managementRoleGetAll(options: CppManagementRoleGetAllRequest, callback: (err: CppError | null, result: CppManagementRoleGetAllResponse) => void): void;
2093
2139
  managementGroupGetAll(options: CppManagementGroupGetAllRequest, callback: (err: CppError | null, result: CppManagementGroupGetAllResponse) => void): void;
2140
+ managementAnalyticsLinkCreateAzureBlobExternalLink(options: CppManagementAnalyticsLinkCreateAzureBlobExternalLinkRequest, callback: (err: CppError | null, result: CppManagementAnalyticsLinkCreateResponse) => void): void;
2141
+ managementAnalyticsLinkCreateCouchbaseRemoteLink(options: CppManagementAnalyticsLinkCreateCouchbaseRemoteLinkRequest, callback: (err: CppError | null, result: CppManagementAnalyticsLinkCreateResponse) => void): void;
2142
+ managementAnalyticsLinkCreateS3ExternalLink(options: CppManagementAnalyticsLinkCreateS3ExternalLinkRequest, callback: (err: CppError | null, result: CppManagementAnalyticsLinkCreateResponse) => void): void;
2094
2143
  managementEventingDropFunction(options: CppManagementEventingDropFunctionRequest, callback: (err: CppError | null, result: CppManagementEventingDropFunctionResponse) => void): void;
2095
2144
  managementCollectionDrop(options: CppManagementCollectionDropRequest, callback: (err: CppError | null, result: CppManagementCollectionDropResponse) => void): void;
2096
2145
  managementSearchIndexControlIngest(options: CppManagementSearchIndexControlIngestRequest, callback: (err: CppError | null, result: CppManagementSearchIndexControlIngestResponse) => void): void;
@@ -2773,7 +2822,7 @@ export interface CppTransactionGetMetaData {
2773
2822
  export interface CppTransactionGetResult {
2774
2823
  id: CppDocumentId;
2775
2824
  cas: CppCas;
2776
- content: CppJsonString;
2825
+ content: CppEncodedValue;
2777
2826
  links: CppTransactionLinks;
2778
2827
  metadata: CppTransactionGetMetaData;
2779
2828
  }
@@ -1,5 +1,6 @@
1
1
  import { AnalyticsScanConsistency, AnalyticsStatus } from './analyticstypes';
2
- import { CppAnalyticsResponseAnalyticsStatus, CppAnalyticsScanConsistency, CppDesignDocumentNamespace, CppDiagEndpointState, CppDiagPingState, CppDurabilityLevel, CppError, CppManagementClusterBucketCompression, CppManagementClusterBucketConflictResolution, CppManagementClusterBucketEvictionPolicy, CppManagementClusterBucketStorageBackend, CppManagementClusterBucketType, CppManagementEventingFunctionBucketAccess, CppManagementEventingFunctionDcpBoundary, CppManagementEventingFunctionDeploymentStatus, CppManagementEventingFunctionLanguageCompatibility, CppManagementEventingFunctionLogLevel, CppManagementEventingFunctionProcessingStatus, CppManagementEventingFunctionStatus, CppMutationState, CppPersistTo, CppPrefixScan, CppQueryProfile, CppQueryScanConsistency, CppRangeScan, CppReplicateTo, CppSamplingScan, CppSearchHighlightStyle, CppSearchScanConsistency, CppServiceType, CppStoreSemantics, CppTransactionKeyspace, CppTxnExternalException, CppTxnOpException, CppVectorQueryCombination, CppViewScanConsistency, CppViewSortOrder } from './binding';
2
+ import { AnalyticsEncryptionLevel, CouchbaseAnalyticsEncryptionSettings } from './analyticsindexmanager';
3
+ import { CppAnalyticsResponseAnalyticsStatus, CppAnalyticsScanConsistency, CppDesignDocumentNamespace, CppDiagEndpointState, CppDiagPingState, CppDurabilityLevel, CppError, CppManagementAnalyticsCouchbaseLinkEncryptionLevel, CppManagementAnalyticsCouchbaseLinkEncryptionSettings, CppManagementClusterBucketCompression, CppManagementClusterBucketConflictResolution, CppManagementClusterBucketEvictionPolicy, CppManagementClusterBucketStorageBackend, CppManagementClusterBucketType, CppManagementEventingFunctionBucketAccess, CppManagementEventingFunctionDcpBoundary, CppManagementEventingFunctionDeploymentStatus, CppManagementEventingFunctionLanguageCompatibility, CppManagementEventingFunctionLogLevel, CppManagementEventingFunctionProcessingStatus, CppManagementEventingFunctionStatus, CppManagementRbacAuthDomain, CppMutationState, CppPersistTo, CppPrefixScan, CppQueryProfile, CppQueryScanConsistency, CppRangeScan, CppReplicateTo, CppSamplingScan, CppSearchHighlightStyle, CppSearchScanConsistency, CppServiceType, CppStoreSemantics, CppTransactionKeyspace, CppTxnExternalException, CppTxnOpException, CppVectorQueryCombination, CppViewScanConsistency, CppViewSortOrder } from './binding';
3
4
  import { BucketType, CompressionMode, ConflictResolutionType, EvictionPolicy, StorageBackend } from './bucketmanager';
4
5
  import { EndpointState, PingState } from './diagnosticstypes';
5
6
  import { ErrorContext } from './errorcontexts';
@@ -216,3 +217,27 @@ export declare function eventingFunctionLanguageCompatibilityFromCpp(compatibili
216
217
  * @internal
217
218
  */
218
219
  export declare function eventingFunctionStatusFromCpp(status: CppManagementEventingFunctionStatus): EventingFunctionStatus;
220
+ /**
221
+ * @internal
222
+ */
223
+ export declare function couchbaseLinkEncryptionLevelFromCpp(level: CppManagementAnalyticsCouchbaseLinkEncryptionLevel): AnalyticsEncryptionLevel;
224
+ /**
225
+ * @internal
226
+ */
227
+ export declare function encryptionLevelToCpp(level: AnalyticsEncryptionLevel): CppManagementAnalyticsCouchbaseLinkEncryptionLevel;
228
+ /**
229
+ * @internal
230
+ */
231
+ export declare function encryptionSettingsToCpp(settings?: CouchbaseAnalyticsEncryptionSettings): CppManagementAnalyticsCouchbaseLinkEncryptionSettings;
232
+ /**
233
+ * @internal
234
+ */
235
+ export declare function encryptionSettingsFromCpp(settings: CppManagementAnalyticsCouchbaseLinkEncryptionSettings): CouchbaseAnalyticsEncryptionSettings;
236
+ /**
237
+ * @internal
238
+ */
239
+ export declare function authDomainToCpp(domain: string): CppManagementRbacAuthDomain;
240
+ /**
241
+ * @internal
242
+ */
243
+ export declare function authDomainFromCpp(domain: CppManagementRbacAuthDomain): string;
@@ -27,8 +27,9 @@ 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.eventingFunctionStatusFromCpp = void 0;
30
+ exports.authDomainFromCpp = exports.authDomainToCpp = exports.encryptionSettingsFromCpp = exports.encryptionSettingsToCpp = exports.encryptionLevelToCpp = exports.couchbaseLinkEncryptionLevelFromCpp = exports.eventingFunctionStatusFromCpp = void 0;
31
31
  const analyticstypes_1 = require("./analyticstypes");
32
+ const analyticsindexmanager_1 = require("./analyticsindexmanager");
32
33
  const binding_1 = __importDefault(require("./binding"));
33
34
  const bucketmanager_1 = require("./bucketmanager");
34
35
  const diagnosticstypes_1 = require("./diagnosticstypes");
@@ -621,6 +622,11 @@ function errorFromCpp(err) {
621
622
  }
622
623
  // BUG(JSCBC-1010): We shouldn't need to special case these.
623
624
  if (err.ctxtype === 'transaction_operation_failed') {
625
+ const cause = txnExternalExceptionStringFromCpp(err.cause);
626
+ if (cause == 'feature_not_available_exception') {
627
+ const msg = 'Possibly attempting a binary transaction operation with a server version < 7.6.2';
628
+ return new errs.TransactionOperationFailedError(new errs.FeatureNotAvailableError(new Error(msg)));
629
+ }
624
630
  return new errs.TransactionOperationFailedError(new Error(txnExternalExceptionStringFromCpp(err.cause)));
625
631
  }
626
632
  else if (err.ctxtype === 'transaction_op_exception') {
@@ -1321,3 +1327,104 @@ function eventingFunctionStatusFromCpp(status) {
1321
1327
  throw new errs.InvalidArgumentError(new Error('Unrecognized EventingFunctionStatus'));
1322
1328
  }
1323
1329
  exports.eventingFunctionStatusFromCpp = eventingFunctionStatusFromCpp;
1330
+ /**
1331
+ * @internal
1332
+ */
1333
+ function couchbaseLinkEncryptionLevelFromCpp(level) {
1334
+ if (level === binding_1.default.management_analytics_couchbase_link_encryption_level.none) {
1335
+ return analyticsindexmanager_1.AnalyticsEncryptionLevel.None;
1336
+ }
1337
+ if (level === binding_1.default.management_analytics_couchbase_link_encryption_level.half) {
1338
+ return analyticsindexmanager_1.AnalyticsEncryptionLevel.Half;
1339
+ }
1340
+ if (level === binding_1.default.management_analytics_couchbase_link_encryption_level.full) {
1341
+ return analyticsindexmanager_1.AnalyticsEncryptionLevel.Full;
1342
+ }
1343
+ throw new errs.InvalidArgumentError(new Error('Unrecognized CppManagementAnalyticsCouchbaseLinkEncryptionLevel'));
1344
+ }
1345
+ exports.couchbaseLinkEncryptionLevelFromCpp = couchbaseLinkEncryptionLevelFromCpp;
1346
+ /**
1347
+ * @internal
1348
+ */
1349
+ function encryptionLevelToCpp(level) {
1350
+ if (level === analyticsindexmanager_1.AnalyticsEncryptionLevel.None) {
1351
+ return binding_1.default.management_analytics_couchbase_link_encryption_level.none;
1352
+ }
1353
+ if (level === analyticsindexmanager_1.AnalyticsEncryptionLevel.Half) {
1354
+ return binding_1.default.management_analytics_couchbase_link_encryption_level.half;
1355
+ }
1356
+ if (level === analyticsindexmanager_1.AnalyticsEncryptionLevel.Full) {
1357
+ return binding_1.default.management_analytics_couchbase_link_encryption_level.full;
1358
+ }
1359
+ throw new errs.InvalidArgumentError(new Error('Unrecognized AnalyticsEncryptionLevel'));
1360
+ }
1361
+ exports.encryptionLevelToCpp = encryptionLevelToCpp;
1362
+ /**
1363
+ * @internal
1364
+ */
1365
+ function encryptionSettingsToCpp(settings) {
1366
+ if (!settings) {
1367
+ return {
1368
+ level: binding_1.default.management_analytics_couchbase_link_encryption_level.none,
1369
+ };
1370
+ }
1371
+ return {
1372
+ level: encryptionLevelToCpp(settings.encryptionLevel),
1373
+ certificate: settings.certificate
1374
+ ? settings.certificate.toString()
1375
+ : undefined,
1376
+ client_certificate: settings.clientCertificate
1377
+ ? settings.clientCertificate.toString()
1378
+ : undefined,
1379
+ client_key: settings.clientKey ? settings.clientKey.toString() : undefined,
1380
+ };
1381
+ }
1382
+ exports.encryptionSettingsToCpp = encryptionSettingsToCpp;
1383
+ /**
1384
+ * @internal
1385
+ */
1386
+ function encryptionSettingsFromCpp(settings) {
1387
+ return new analyticsindexmanager_1.CouchbaseAnalyticsEncryptionSettings({
1388
+ encryptionLevel: couchbaseLinkEncryptionLevelFromCpp(settings.level),
1389
+ certificate: settings.certificate
1390
+ ? Buffer.from(settings.certificate)
1391
+ : undefined,
1392
+ clientCertificate: settings.client_certificate
1393
+ ? Buffer.from(settings.client_certificate)
1394
+ : undefined,
1395
+ clientKey: undefined,
1396
+ });
1397
+ }
1398
+ exports.encryptionSettingsFromCpp = encryptionSettingsFromCpp;
1399
+ /**
1400
+ * @internal
1401
+ */
1402
+ function authDomainToCpp(domain) {
1403
+ if (domain === 'unknown') {
1404
+ return binding_1.default.management_rbac_auth_domain.unknown;
1405
+ }
1406
+ if (domain === 'local') {
1407
+ return binding_1.default.management_rbac_auth_domain.local;
1408
+ }
1409
+ if (domain === 'external') {
1410
+ return binding_1.default.management_rbac_auth_domain.external;
1411
+ }
1412
+ throw new errs.InvalidArgumentError(new Error('Unrecognized auth domain.'));
1413
+ }
1414
+ exports.authDomainToCpp = authDomainToCpp;
1415
+ /**
1416
+ * @internal
1417
+ */
1418
+ function authDomainFromCpp(domain) {
1419
+ if (domain === binding_1.default.management_rbac_auth_domain.unknown) {
1420
+ return 'unknown';
1421
+ }
1422
+ if (domain === binding_1.default.management_rbac_auth_domain.local) {
1423
+ return 'local';
1424
+ }
1425
+ if (domain === binding_1.default.management_rbac_auth_domain.external) {
1426
+ return 'external';
1427
+ }
1428
+ throw new errs.InvalidArgumentError(new Error('Unrecognized CppManagementRbacAuthDomain.'));
1429
+ }
1430
+ exports.authDomainFromCpp = authDomainFromCpp;
@@ -59,7 +59,9 @@ export * from './generaltypes';
59
59
  export * from './mutationstate';
60
60
  export * from './queryindexmanager';
61
61
  export * from './querytypes';
62
+ export * from './rangeScan';
62
63
  export * from './scope';
64
+ export * from './scopeeventingfunctionmanager';
63
65
  export * from './scopesearchindexmanager';
64
66
  export * from './sdspecs';
65
67
  export * from './searchfacet';
@@ -75,4 +77,4 @@ export * from './vectorsearch';
75
77
  export * from './viewexecutor';
76
78
  export * from './viewindexmanager';
77
79
  export * from './viewtypes';
78
- export { Cas, NodeCallback } from './utilities';
80
+ export { Cas, CasInput, NodeCallback } from './utilities';
package/dist/couchbase.js CHANGED
@@ -88,7 +88,9 @@ __exportStar(require("./generaltypes"), exports);
88
88
  __exportStar(require("./mutationstate"), exports);
89
89
  __exportStar(require("./queryindexmanager"), exports);
90
90
  __exportStar(require("./querytypes"), exports);
91
+ __exportStar(require("./rangeScan"), exports);
91
92
  __exportStar(require("./scope"), exports);
93
+ __exportStar(require("./scopeeventingfunctionmanager"), exports);
92
94
  __exportStar(require("./scopesearchindexmanager"), exports);
93
95
  __exportStar(require("./sdspecs"), exports);
94
96
  __exportStar(require("./searchfacet"), exports);
@@ -81,7 +81,7 @@ export declare class SamplingScan implements ScanType {
81
81
  /**
82
82
  * A PrefixScan scan type selects every document whose ID starts with a certain prefix.
83
83
  *
84
- * @category key-value
84
+ * @category Key-Value
85
85
  */
86
86
  export declare class PrefixScan implements ScanType {
87
87
  /**
package/dist/rangeScan.js CHANGED
@@ -64,7 +64,7 @@ exports.SamplingScan = SamplingScan;
64
64
  /**
65
65
  * A PrefixScan scan type selects every document whose ID starts with a certain prefix.
66
66
  *
67
- * @category key-value
67
+ * @category Key-Value
68
68
  */
69
69
  class PrefixScan {
70
70
  /**
@@ -4,6 +4,7 @@ import { Collection } from './collection';
4
4
  import { DurabilityLevel } from './generaltypes';
5
5
  import { QueryMetaData, QueryProfileMode, QueryResult, QueryScanConsistency } from './querytypes';
6
6
  import { Scope } from './scope';
7
+ import { Transcoder } from './transcoders';
7
8
  import { Cas } from './utilities';
8
9
  /**
9
10
  * Represents the path to a document.
@@ -276,6 +277,33 @@ export interface TransactionQueryOptions {
276
277
  */
277
278
  scope?: Scope;
278
279
  }
280
+ /**
281
+ * @category Transactions
282
+ */
283
+ export interface TransactionGetOptions {
284
+ /**
285
+ * Specifies an explicit transcoder to use for this specific operation.
286
+ */
287
+ transcoder?: Transcoder;
288
+ }
289
+ /**
290
+ * @category Transactions
291
+ */
292
+ export interface TransactionInsertOptions {
293
+ /**
294
+ * Specifies an explicit transcoder to use for this specific operation.
295
+ */
296
+ transcoder?: Transcoder;
297
+ }
298
+ /**
299
+ * @category Transactions
300
+ */
301
+ export interface TransactionReplaceOptions {
302
+ /**
303
+ * Specifies an explicit transcoder to use for this specific operation.
304
+ */
305
+ transcoder?: Transcoder;
306
+ }
279
307
  /**
280
308
  * Provides an interface to preform transactional operations in a transaction.
281
309
  *
@@ -301,23 +329,26 @@ export declare class TransactionAttemptContext {
301
329
  *
302
330
  * @param collection The collection the document lives in.
303
331
  * @param key The document key to retrieve.
332
+ * @param options Optional parameters for this operation.
304
333
  */
305
- get(collection: Collection, key: string): Promise<TransactionGetResult>;
334
+ get(collection: Collection, key: string, options?: TransactionGetOptions): Promise<TransactionGetResult>;
306
335
  /**
307
336
  * Inserts a new document to the collection, failing if the document already exists.
308
337
  *
309
338
  * @param collection The collection the document lives in.
310
339
  * @param key The document key to insert.
311
340
  * @param content The document content to insert.
341
+ * @param options Optional parameters for this operation.
312
342
  */
313
- insert(collection: Collection, key: string, content: any): Promise<TransactionGetResult>;
343
+ insert(collection: Collection, key: string, content: any, options?: TransactionInsertOptions): Promise<TransactionGetResult>;
314
344
  /**
315
345
  * Replaces a document in a collection.
316
346
  *
317
347
  * @param doc The document to replace.
318
348
  * @param content The document content to insert.
349
+ * @param options Optional parameters for this operation.
319
350
  */
320
- replace(doc: TransactionGetResult, content: any): Promise<TransactionGetResult>;
351
+ replace(doc: TransactionGetResult, content: any, options?: TransactionReplaceOptions): Promise<TransactionGetResult>;
321
352
  /**
322
353
  * Removes a document from a collection.
323
354
  *
@@ -75,18 +75,13 @@ exports.TransactionQueryResult = TransactionQueryResult;
75
75
  /**
76
76
  * @internal
77
77
  */
78
- function translateGetResult(cppRes) {
78
+ function translateGetResult(cppRes, transcoder) {
79
79
  if (!cppRes) {
80
80
  return null;
81
81
  }
82
82
  let content;
83
- if (cppRes.content && cppRes.content.length > 0) {
84
- try {
85
- content = JSON.parse(cppRes.content.toString('utf8'));
86
- }
87
- catch (e) {
88
- content = cppRes.content;
89
- }
83
+ if (cppRes.content && cppRes.content.data && cppRes.content.data.length > 0) {
84
+ content = transcoder.decode(cppRes.content.data, cppRes.content.flags);
90
85
  }
91
86
  return new TransactionGetResult({
92
87
  id: cppRes.id,
@@ -138,8 +133,10 @@ class TransactionAttemptContext {
138
133
  *
139
134
  * @param collection The collection the document lives in.
140
135
  * @param key The document key to retrieve.
136
+ * @param options Optional parameters for this operation.
141
137
  */
142
- async get(collection, key) {
138
+ async get(collection, key, options) {
139
+ const transcoder = (options === null || options === void 0 ? void 0 : options.transcoder) || this._transcoder;
143
140
  return utilities_1.PromiseHelper.wrap((wrapCallback) => {
144
141
  const id = collection._cppDocId(key);
145
142
  this._impl.get({
@@ -149,7 +146,7 @@ class TransactionAttemptContext {
149
146
  if (err) {
150
147
  return wrapCallback(err, null);
151
148
  }
152
- wrapCallback(err, translateGetResult(cppRes));
149
+ wrapCallback(err, translateGetResult(cppRes, transcoder));
153
150
  });
154
151
  });
155
152
  }
@@ -159,11 +156,13 @@ class TransactionAttemptContext {
159
156
  * @param collection The collection the document lives in.
160
157
  * @param key The document key to insert.
161
158
  * @param content The document content to insert.
159
+ * @param options Optional parameters for this operation.
162
160
  */
163
- async insert(collection, key, content) {
161
+ async insert(collection, key, content, options) {
164
162
  return utilities_1.PromiseHelper.wrap((wrapCallback) => {
165
163
  const id = collection._cppDocId(key);
166
- const [data, flags] = this._transcoder.encode(content);
164
+ const transcoder = (options === null || options === void 0 ? void 0 : options.transcoder) || this._transcoder;
165
+ const [data, flags] = transcoder.encode(content);
167
166
  this._impl.insert({
168
167
  id,
169
168
  content: {
@@ -175,7 +174,7 @@ class TransactionAttemptContext {
175
174
  if (err) {
176
175
  return wrapCallback(err, null);
177
176
  }
178
- wrapCallback(err, translateGetResult(cppRes));
177
+ wrapCallback(err, translateGetResult(cppRes, transcoder));
179
178
  });
180
179
  });
181
180
  }
@@ -184,14 +183,19 @@ class TransactionAttemptContext {
184
183
  *
185
184
  * @param doc The document to replace.
186
185
  * @param content The document content to insert.
186
+ * @param options Optional parameters for this operation.
187
187
  */
188
- async replace(doc, content) {
188
+ async replace(doc, content, options) {
189
189
  return utilities_1.PromiseHelper.wrap((wrapCallback) => {
190
- const [data, flags] = this._transcoder.encode(content);
190
+ const transcoder = (options === null || options === void 0 ? void 0 : options.transcoder) || this._transcoder;
191
+ const [data, flags] = transcoder.encode(content);
191
192
  this._impl.replace({
192
193
  doc: {
193
194
  id: doc.id,
194
- content: Buffer.from(''),
195
+ content: {
196
+ data: Buffer.from(''),
197
+ flags: 0,
198
+ },
195
199
  cas: doc.cas,
196
200
  links: doc._links,
197
201
  metadata: doc._metadata,
@@ -205,7 +209,7 @@ class TransactionAttemptContext {
205
209
  if (err) {
206
210
  return wrapCallback(err, null);
207
211
  }
208
- wrapCallback(err, translateGetResult(cppRes));
212
+ wrapCallback(err, translateGetResult(cppRes, transcoder));
209
213
  });
210
214
  });
211
215
  }
@@ -219,7 +223,10 @@ class TransactionAttemptContext {
219
223
  this._impl.remove({
220
224
  doc: {
221
225
  id: doc.id,
222
- content: Buffer.from(''),
226
+ content: {
227
+ data: Buffer.from(''),
228
+ flags: 0,
229
+ },
223
230
  cas: doc.cas,
224
231
  links: doc._links,
225
232
  metadata: doc._metadata,
@@ -47,3 +47,71 @@ export declare class DefaultTranscoder implements Transcoder {
47
47
  */
48
48
  decode(bytes: Buffer, flags: number): any;
49
49
  }
50
+ /**
51
+ * The raw binary transcoder provides an explicit mechanism for storing and retrieving raw
52
+ * byte data.
53
+ *
54
+ * @category Key-Value
55
+ */
56
+ export declare class RawBinaryTranscoder implements Transcoder {
57
+ /**
58
+ * Encodes the specified value, returning a buffer and flags that are
59
+ * stored to the server and later used for decoding.
60
+ *
61
+ * @param value The value to encode.
62
+ */
63
+ encode(value: Buffer): [Buffer, number];
64
+ /**
65
+ * Decodes a buffer and flags tuple back to the original type of the
66
+ * document.
67
+ *
68
+ * @param bytes The bytes that were previously encoded.
69
+ * @param flags The flags associated with the data.
70
+ */
71
+ decode(bytes: Buffer, flags: number): any;
72
+ }
73
+ /**
74
+ * The raw string transcoder provides an explicit mechanism for storing and retrieving raw
75
+ * string data.
76
+ *
77
+ * @category Key-Value
78
+ */
79
+ export declare class RawStringTranscoder implements Transcoder {
80
+ /**
81
+ * Encodes the specified value, returning a buffer and flags that are
82
+ * stored to the server and later used for decoding.
83
+ *
84
+ * @param value The value to encode.
85
+ */
86
+ encode(value: string): [Buffer, number];
87
+ /**
88
+ * Decodes a buffer and flags tuple back to the original type of the
89
+ * document.
90
+ *
91
+ * @param bytes The bytes that were previously encoded.
92
+ * @param flags The flags associated with the data.
93
+ */
94
+ decode(bytes: Buffer, flags: number): string;
95
+ }
96
+ /**
97
+ * The raw JSON transcoder provides an explicit mechanism for storing and retrieving JSON data.
98
+ *
99
+ * @category Key-Value
100
+ */
101
+ export declare class RawJsonTranscoder implements Transcoder {
102
+ /**
103
+ * Encodes the specified value, returning a buffer and flags that are
104
+ * stored to the server and later used for decoding.
105
+ *
106
+ * @param value The value to encode.
107
+ */
108
+ encode(value: string): [Buffer, number];
109
+ /**
110
+ * Decodes a buffer and flags tuple back to the original type of the
111
+ * document.
112
+ *
113
+ * @param bytes The bytes that were previously encoded.
114
+ * @param flags The flags associated with the data.
115
+ */
116
+ decode(bytes: Buffer, flags: number): Buffer;
117
+ }