gremlin 3.7.2 → 3.7.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 (81) hide show
  1. package/NOTICE +1 -1
  2. package/doc/AnonymousTraversalSource.html +1 -1
  3. package/doc/Authenticator.html +1 -1
  4. package/doc/Bytecode.html +1 -1
  5. package/doc/CardinalityValue.html +1 -1
  6. package/doc/Client.html +41 -8
  7. package/doc/Connection.html +39 -6
  8. package/doc/DriverRemoteConnection.html +44 -11
  9. package/doc/EdgeLabelVerificationStrategy.html +1 -1
  10. package/doc/Graph.html +1 -1
  11. package/doc/GraphSON2Reader.html +1 -1
  12. package/doc/GraphSON2Writer.html +1 -1
  13. package/doc/GraphSON3Reader.html +1 -1
  14. package/doc/GraphSON3Writer.html +1 -1
  15. package/doc/GraphTraversal.html +1 -1
  16. package/doc/GraphTraversalSource.html +1 -1
  17. package/doc/HaltedTraverserStrategy.html +1 -1
  18. package/doc/MatchAlgorithmStrategy.html +1 -1
  19. package/doc/P.html +1 -1
  20. package/doc/PartitionStrategy.html +1 -1
  21. package/doc/Path.html +1 -1
  22. package/doc/PlainTextSaslAuthenticator.html +1 -1
  23. package/doc/ProductiveByStrategy.html +1 -1
  24. package/doc/RemoteConnection.html +1 -1
  25. package/doc/RemoteStrategy.html +1 -1
  26. package/doc/RemoteTraversal.html +1 -1
  27. package/doc/ReservedKeysVerificationStrategy.html +1 -1
  28. package/doc/ResponseError.html +1 -1
  29. package/doc/ResultSet.html +1 -1
  30. package/doc/SaslAuthenticator.html +1 -1
  31. package/doc/SaslMechanismBase.html +1 -1
  32. package/doc/SaslMechanismPlain.html +1 -1
  33. package/doc/SeedStrategy.html +1 -1
  34. package/doc/SubgraphStrategy.html +1 -1
  35. package/doc/TextP.html +1 -1
  36. package/doc/Transaction.html +1 -1
  37. package/doc/Translator.html +1 -1
  38. package/doc/TraversalStrategies.html +1 -1
  39. package/doc/TraversalStrategy.html +1 -1
  40. package/doc/TypeSerializer.html +1 -1
  41. package/doc/driver_auth_authenticator.js.html +1 -1
  42. package/doc/driver_auth_mechanisms_sasl-mechanism-base.js.html +1 -1
  43. package/doc/driver_auth_mechanisms_sasl-mechanism-plain.js.html +1 -1
  44. package/doc/driver_auth_plain-text-sasl-authenticator.js.html +1 -1
  45. package/doc/driver_auth_sasl-authenticator.js.html +1 -1
  46. package/doc/driver_client.js.html +2 -1
  47. package/doc/driver_connection.js.html +51 -4
  48. package/doc/driver_driver-remote-connection.js.html +2 -1
  49. package/doc/driver_remote-connection.js.html +1 -1
  50. package/doc/driver_response-error.js.html +1 -1
  51. package/doc/driver_result-set.js.html +1 -1
  52. package/doc/global.html +2 -2
  53. package/doc/index.html +1 -1
  54. package/doc/module.exports.html +1 -1
  55. package/doc/process_anonymous-traversal.js.html +1 -1
  56. package/doc/process_bytecode.js.html +1 -1
  57. package/doc/process_graph-traversal.js.html +3 -1
  58. package/doc/process_transaction.js.html +1 -1
  59. package/doc/process_translator.js.html +5 -5
  60. package/doc/process_traversal-strategy.js.html +1 -1
  61. package/doc/process_traversal.js.html +1 -1
  62. package/doc/structure_graph.js.html +1 -1
  63. package/doc/structure_io_binary_internals_DataType.js.html +1 -1
  64. package/doc/structure_io_binary_internals_GraphBinaryReader.js.html +1 -1
  65. package/doc/structure_io_binary_internals_GraphBinaryWriter.js.html +1 -1
  66. package/doc/structure_io_graph-serializer.js.html +1 -1
  67. package/doc/structure_io_type-serializers.js.html +1 -1
  68. package/doc/utils.js.html +2 -2
  69. package/docker-compose.yml +1 -3
  70. package/lib/driver/client.js +1 -0
  71. package/lib/driver/connection.js +50 -3
  72. package/lib/driver/driver-remote-connection.js +1 -0
  73. package/lib/process/graph-traversal.js +2 -0
  74. package/lib/process/translator.js +4 -4
  75. package/lib/structure/io/binary/internals/VertexPropertySerializer.js +4 -1
  76. package/lib/structure/io/binary/internals/VertexSerializer.js +4 -1
  77. package/lib/utils.js +1 -1
  78. package/package.json +5 -5
  79. package/doc/DataType.js.html +0 -149
  80. package/doc/GraphBinaryReader.js.html +0 -132
  81. package/doc/GraphBinaryWriter.js.html +0 -135
@@ -916,7 +916,7 @@
916
916
  <br class="clear">
917
917
 
918
918
  <footer>
919
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:41 GMT-0700 (Pacific Daylight Time)
919
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:43 GMT-0700 (Pacific Daylight Time)
920
920
  </footer>
921
921
 
922
922
  <script> prettyPrint(); </script>
@@ -279,7 +279,7 @@
279
279
  <br class="clear">
280
280
 
281
281
  <footer>
282
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:41 GMT-0700 (Pacific Daylight Time)
282
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:43 GMT-0700 (Pacific Daylight Time)
283
283
  </footer>
284
284
 
285
285
  <script> prettyPrint(); </script>
@@ -378,7 +378,7 @@
378
378
  <br class="clear">
379
379
 
380
380
  <footer>
381
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:41 GMT-0700 (Pacific Daylight Time)
381
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:43 GMT-0700 (Pacific Daylight Time)
382
382
  </footer>
383
383
 
384
384
  <script> prettyPrint(); </script>
package/doc/TextP.html CHANGED
@@ -1431,7 +1431,7 @@
1431
1431
  <br class="clear">
1432
1432
 
1433
1433
  <footer>
1434
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:41 GMT-0700 (Pacific Daylight Time)
1434
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:43 GMT-0700 (Pacific Daylight Time)
1435
1435
  </footer>
1436
1436
 
1437
1437
  <script> prettyPrint(); </script>
@@ -646,7 +646,7 @@ then close the transaction and thus, the session. This feature only works with t
646
646
  <br class="clear">
647
647
 
648
648
  <footer>
649
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:41 GMT-0700 (Pacific Daylight Time)
649
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:43 GMT-0700 (Pacific Daylight Time)
650
650
  </footer>
651
651
 
652
652
  <script> prettyPrint(); </script>
@@ -518,7 +518,7 @@
518
518
  <br class="clear">
519
519
 
520
520
  <footer>
521
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:41 GMT-0700 (Pacific Daylight Time)
521
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:43 GMT-0700 (Pacific Daylight Time)
522
522
  </footer>
523
523
 
524
524
  <script> prettyPrint(); </script>
@@ -643,7 +643,7 @@
643
643
  <br class="clear">
644
644
 
645
645
  <footer>
646
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:41 GMT-0700 (Pacific Daylight Time)
646
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:43 GMT-0700 (Pacific Daylight Time)
647
647
  </footer>
648
648
 
649
649
  <script> prettyPrint(); </script>
@@ -384,7 +384,7 @@
384
384
  <br class="clear">
385
385
 
386
386
  <footer>
387
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:41 GMT-0700 (Pacific Daylight Time)
387
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:43 GMT-0700 (Pacific Daylight Time)
388
388
  </footer>
389
389
 
390
390
  <script> prettyPrint(); </script>
@@ -157,7 +157,7 @@
157
157
  <br class="clear">
158
158
 
159
159
  <footer>
160
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:41 GMT-0700 (Pacific Daylight Time)
160
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:43 GMT-0700 (Pacific Daylight Time)
161
161
  </footer>
162
162
 
163
163
  <script> prettyPrint(); </script>
@@ -80,7 +80,7 @@ module.exports = Authenticator;
80
80
  <br class="clear">
81
81
 
82
82
  <footer>
83
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
83
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
84
84
  </footer>
85
85
 
86
86
  <script> prettyPrint(); </script>
@@ -94,7 +94,7 @@ module.exports = SaslMechanismBase;
94
94
  <br class="clear">
95
95
 
96
96
  <footer>
97
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
97
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
98
98
  </footer>
99
99
 
100
100
  <script> prettyPrint(); </script>
@@ -148,7 +148,7 @@ module.exports = SaslMechanismPlain;
148
148
  <br class="clear">
149
149
 
150
150
  <footer>
151
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
151
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
152
152
  </footer>
153
153
 
154
154
  <script> prettyPrint(); </script>
@@ -97,7 +97,7 @@ module.exports = PlainTextSaslAuthenticator;
97
97
  <br class="clear">
98
98
 
99
99
  <footer>
100
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
100
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
101
101
  </footer>
102
102
 
103
103
  <script> prettyPrint(); </script>
@@ -91,7 +91,7 @@ module.exports = SaslAuthenticator;
91
91
  <br class="clear">
92
92
 
93
93
  <footer>
94
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
94
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
95
95
  </footer>
96
96
 
97
97
  <script> prettyPrint(); </script>
@@ -72,6 +72,7 @@ class Client {
72
72
  * @param {String} [options.processor] The name of the opProcessor to use, leave it undefined or set 'session' when session mode.
73
73
  * @param {String} [options.session] The sessionId of Client in session mode. Defaults to null means session-less Client.
74
74
  * @param {http.Agent} [options.agent] The http.Agent implementation to use.
75
+ * @param {Boolean} [options.enableCompression] Enable per-message deflate compression. Defaults to: false.
75
76
  * @constructor
76
77
  */
77
78
  constructor(url, options = {}) {
@@ -240,7 +241,7 @@ module.exports = Client;
240
241
  <br class="clear">
241
242
 
242
243
  <footer>
243
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
244
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
244
245
  </footer>
245
246
 
246
247
  <script> prettyPrint(); </script>
@@ -93,6 +93,7 @@ class Connection extends EventEmitter {
93
93
  * @param {Object} [options.headers] An associative array containing the additional header key/values for the initial request.
94
94
  * @param {Boolean} [options.enableUserAgentOnConnect] Determines if a user agent will be sent during connection handshake. Defaults to: true
95
95
  * @param {http.Agent} [options.agent] The http.Agent implementation to use.
96
+ * @param {Boolean} [options.enableCompression] Enable per-message deflate compression. Defaults to: false.
96
97
  * @constructor
97
98
  */
98
99
  constructor(url, options) {
@@ -122,6 +123,7 @@ class Connection extends EventEmitter {
122
123
  this.traversalSource = options.traversalSource || 'g';
123
124
  this._authenticator = options.authenticator;
124
125
  this._enableUserAgentOnConnect = options.enableUserAgentOnConnect !== false;
126
+ this._enableCompression = this.options.enableCompression || false;
125
127
  }
126
128
 
127
129
  /**
@@ -150,12 +152,27 @@ class Connection extends EventEmitter {
150
152
  headers[utils.getUserAgentHeader()] = await utils.getUserAgent();
151
153
  }
152
154
  }
153
-
154
- const WebSocket = globalThis.WebSocket ?? (await import('ws')).default;
155
+ // All these options are available to the `ws` package's constructor, but not the global WebSocket class
156
+ const wsSpecificOptions = new Set([
157
+ 'headers',
158
+ 'ca',
159
+ 'cert',
160
+ 'pfx',
161
+ 'rejectUnauthorized',
162
+ 'agent',
163
+ 'perMessageDeflate',
164
+ ]);
165
+ // Check if any `ws` specific options are provided and are non-null / non-undefined
166
+ const hasWsSpecificOptions = Object.entries(this.options).some(
167
+ ([key, value]) => wsSpecificOptions.has(key) &amp;&amp; ![null, undefined].includes(value),
168
+ );
169
+ // Only use the global websocket if we don't have any unsupported options
170
+ const useGlobalWebSocket = !hasWsSpecificOptions &amp;&amp; globalThis.WebSocket;
171
+ const WebSocket = useGlobalWebSocket || (await import('ws')).default;
155
172
 
156
173
  this._ws = new WebSocket(
157
174
  this.url,
158
- globalThis.WebSocket === undefined
175
+ !useGlobalWebSocket
159
176
  ? {
160
177
  headers: headers,
161
178
  ca: this.options.ca,
@@ -163,6 +180,7 @@ class Connection extends EventEmitter {
163
180
  pfx: this.options.pfx,
164
181
  rejectUnauthorized: this.options.rejectUnauthorized,
165
182
  agent: this.options.agent,
183
+ perMessageDeflate: this._enableCompression,
166
184
  }
167
185
  : undefined,
168
186
  );
@@ -173,6 +191,7 @@ class Connection extends EventEmitter {
173
191
 
174
192
  this._ws.addEventListener('open', this.#handleOpen);
175
193
  this._ws.addEventListener('error', this.#handleError);
194
+ this._ws.on('unexpected-response', this.#handleUnexpectedResponse);
176
195
  this._ws.addEventListener('message', this.#handleMessage);
177
196
  this._ws.addEventListener('close', this.#handleClose);
178
197
 
@@ -270,6 +289,32 @@ class Connection extends EventEmitter {
270
289
  this.isOpen = true;
271
290
  };
272
291
 
292
+ /**
293
+ * @param {ClientRequest} _req
294
+ * @param {IncomingMessage} res
295
+ */
296
+ #handleUnexpectedResponse = async (_req, res) => {
297
+ const body = await new Promise((resolve, reject) => {
298
+ const chunks = [];
299
+ res.on('data', (data) => {
300
+ chunks.push(data instanceof Buffer ? data : Buffer.from(data));
301
+ });
302
+ res.on('end', () => {
303
+ resolve(chunks.length ? Buffer.concat(chunks) : null);
304
+ });
305
+ res.on('error', reject);
306
+ });
307
+ const statusCodeErrorMessage = `Unexpected server response code ${res.statusCode}`;
308
+ const errorMessage = body ? `${statusCodeErrorMessage} with body:\n${body.toString()}` : statusCodeErrorMessage;
309
+ const error = new Error(errorMessage);
310
+ this.#handleError({
311
+ error,
312
+ message: errorMessage,
313
+ type: 'unexpected-response',
314
+ target: this._ws,
315
+ });
316
+ };
317
+
273
318
  /**
274
319
  * @param {Event} event
275
320
  */
@@ -340,6 +385,7 @@ class Connection extends EventEmitter {
340
385
 
341
386
  return;
342
387
  } else if (response.status.code >= 400) {
388
+ this.#clearHandler(response.requestId);
343
389
  // callback in error
344
390
  return handler.callback(
345
391
  // TINKERPOP-2285: keep the old server error message in case folks are parsing that - fix in a future breaking version
@@ -397,6 +443,7 @@ class Connection extends EventEmitter {
397
443
  });
398
444
  this._ws.removeEventListener('open', this.#handleOpen);
399
445
  this._ws.removeEventListener('error', this.#handleError);
446
+ this._ws.off('unexpected-response', this.#handleUnexpectedResponse);
400
447
  this._ws.removeEventListener('message', this.#handleMessage);
401
448
  this._ws.removeEventListener('close', this.#handleClose);
402
449
  this._openPromise = null;
@@ -448,7 +495,7 @@ module.exports = Connection;
448
495
  <br class="clear">
449
496
 
450
497
  <footer>
451
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
498
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
452
499
  </footer>
453
500
 
454
501
  <script> prettyPrint(); </script>
@@ -78,6 +78,7 @@ class DriverRemoteConnection extends RemoteConnection {
78
78
  * @param {Object} [options.headers] An associative array containing the additional header key/values for the initial request.
79
79
  * @param {Boolean} [options.enableUserAgentOnConnect] Determines if a user agent will be sent during connection handshake. Defaults to: true
80
80
  * @param {http.Agent} [options.agent] The http.Agent implementation to use.
81
+ * @param {Boolean} [options.enableCompression] Enable per-message deflate compression. Defaults to: false.
81
82
  * @constructor
82
83
  */
83
84
  constructor(url, options = {}) {
@@ -183,7 +184,7 @@ module.exports = DriverRemoteConnection;
183
184
  <br class="clear">
184
185
 
185
186
  <footer>
186
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
187
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
187
188
  </footer>
188
189
 
189
190
  <script> prettyPrint(); </script>
@@ -189,7 +189,7 @@ module.exports = { RemoteConnection, RemoteStrategy, RemoteTraversal };
189
189
  <br class="clear">
190
190
 
191
191
  <footer>
192
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
192
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
193
193
  </footer>
194
194
 
195
195
  <script> prettyPrint(); </script>
@@ -89,7 +89,7 @@ module.exports = ResponseError;
89
89
  <br class="clear">
90
90
 
91
91
  <footer>
92
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
92
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
93
93
  </footer>
94
94
 
95
95
  <script> prettyPrint(); </script>
@@ -125,7 +125,7 @@ module.exports = ResultSet;
125
125
  <br class="clear">
126
126
 
127
127
  <footer>
128
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
128
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
129
129
  </footer>
130
130
 
131
131
  <script> prettyPrint(); </script>
package/doc/global.html CHANGED
@@ -595,7 +595,7 @@ See org.apache.tinkerpop.gremlin.structure.io.binary.DataType Java class.
595
595
 
596
596
  <dt class="tag-source">Source:</dt>
597
597
  <dd class="tag-source"><ul class="dummy"><li>
598
- <a href="driver_client.js.html">driver/client.js</a>, <a href="driver_client.js.html#line78">line 78</a>
598
+ <a href="driver_client.js.html">driver/client.js</a>, <a href="driver_client.js.html#line79">line 79</a>
599
599
  </li></ul></dd>
600
600
 
601
601
 
@@ -631,7 +631,7 @@ See org.apache.tinkerpop.gremlin.structure.io.binary.DataType Java class.
631
631
  <br class="clear">
632
632
 
633
633
  <footer>
634
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
634
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:43 GMT-0700 (Pacific Daylight Time)
635
635
  </footer>
636
636
 
637
637
  <script> prettyPrint(); </script>
package/doc/index.html CHANGED
@@ -176,7 +176,7 @@ for early testing purposes only. These releases are not suitable for production.
176
176
  <br class="clear">
177
177
 
178
178
  <footer>
179
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
179
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:43 GMT-0700 (Pacific Daylight Time)
180
180
  </footer>
181
181
 
182
182
  <script> prettyPrint(); </script>
@@ -292,7 +292,7 @@
292
292
  <br class="clear">
293
293
 
294
294
  <footer>
295
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:41 GMT-0700 (Pacific Daylight Time)
295
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:43 GMT-0700 (Pacific Daylight Time)
296
296
  </footer>
297
297
 
298
298
  <script> prettyPrint(); </script>
@@ -119,7 +119,7 @@ module.exports = AnonymousTraversalSource;
119
119
  <br class="clear">
120
120
 
121
121
  <footer>
122
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
122
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
123
123
  </footer>
124
124
 
125
125
  <script> prettyPrint(); </script>
@@ -166,7 +166,7 @@ module.exports = Bytecode;
166
166
  <br class="clear">
167
167
 
168
168
  <footer>
169
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
169
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
170
170
  </footer>
171
171
 
172
172
  <script> prettyPrint(); </script>
@@ -1808,6 +1808,7 @@ const statics = {
1808
1808
  dateAdd: (...args) => callOnEmptyTraversal('dateAdd', args),
1809
1809
  dateDiff: (...args) => callOnEmptyTraversal('dateDiff', args),
1810
1810
  dedup: (...args) => callOnEmptyTraversal('dedup', args),
1811
+ disjunct: (...args) => callOnEmptyTraversal('disjunct', args),
1811
1812
  drop: (...args) => callOnEmptyTraversal('drop', args),
1812
1813
  element: (...args) => callOnEmptyTraversal('element', args),
1813
1814
  elementMap: (...args) => callOnEmptyTraversal('elementMap', args),
@@ -1848,6 +1849,7 @@ const statics = {
1848
1849
  mergeE: (...args) => callOnEmptyTraversal('mergeE', args),
1849
1850
  mergeV: (...args) => callOnEmptyTraversal('mergeV', args),
1850
1851
  min: (...args) => callOnEmptyTraversal('min', args),
1852
+ none: (...args) => callOnEmptyTraversal('none', args),
1851
1853
  not: (...args) => callOnEmptyTraversal('not', args),
1852
1854
  optional: (...args) => callOnEmptyTraversal('optional', args),
1853
1855
  or: (...args) => callOnEmptyTraversal('or', args),
@@ -1918,7 +1920,7 @@ module.exports = {
1918
1920
  <br class="clear">
1919
1921
 
1920
1922
  <footer>
1921
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
1923
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
1922
1924
  </footer>
1923
1925
 
1924
1926
  <script> prettyPrint(); </script>
@@ -142,7 +142,7 @@ module.exports = {
142
142
  <br class="clear">
143
143
 
144
144
  <footer>
145
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
145
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
146
146
  </footer>
147
147
 
148
148
  <script> prettyPrint(); </script>
@@ -119,7 +119,7 @@ class Translator {
119
119
  }
120
120
  script += `('${key}', `;
121
121
  if (anyObject[key] instanceof String || typeof anyObject[key] === 'string') {
122
- script += `'${anyObject[key]}'`;
122
+ script += `'${`${anyObject[key]}`.replaceAll("'", "\\'")}'`; // eslint-disable-line quotes
123
123
  } else {
124
124
  script += anyObject[key];
125
125
  }
@@ -134,12 +134,12 @@ class Translator {
134
134
  } else {
135
135
  script += anyObject.toString();
136
136
  }
137
- } else if (anyObject === undefined) {
138
- script += '';
137
+ } else if (anyObject === undefined || anyObject === null) {
138
+ script += 'null';
139
139
  } else if (typeof anyObject === 'number' || typeof anyObject === 'boolean') {
140
140
  script += anyObject;
141
141
  } else {
142
- script += `'${anyObject}'`;
142
+ script += `'${`${anyObject}`.replaceAll("'", "\\'")}'`; // eslint-disable-line quotes
143
143
  }
144
144
 
145
145
  return script;
@@ -163,7 +163,7 @@ module.exports = Translator;
163
163
  <br class="clear">
164
164
 
165
165
  <footer>
166
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
166
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
167
167
  </footer>
168
168
 
169
169
  <script> prettyPrint(); </script>
@@ -395,7 +395,7 @@ module.exports = {
395
395
  <br class="clear">
396
396
 
397
397
  <footer>
398
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
398
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
399
399
  </footer>
400
400
 
401
401
  <script> prettyPrint(); </script>
@@ -566,7 +566,7 @@ module.exports = {
566
566
  <br class="clear">
567
567
 
568
568
  <footer>
569
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
569
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
570
570
  </footer>
571
571
 
572
572
  <script> prettyPrint(); </script>
@@ -232,7 +232,7 @@ module.exports = {
232
232
  <br class="clear">
233
233
 
234
234
  <footer>
235
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
235
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
236
236
  </footer>
237
237
 
238
238
  <script> prettyPrint(); </script>
@@ -141,7 +141,7 @@ module.exports = DataType;
141
141
  <br class="clear">
142
142
 
143
143
  <footer>
144
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
144
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
145
145
  </footer>
146
146
 
147
147
  <script> prettyPrint(); </script>
@@ -124,7 +124,7 @@ module.exports = class GraphBinaryReader {
124
124
  <br class="clear">
125
125
 
126
126
  <footer>
127
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
127
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
128
128
  </footer>
129
129
 
130
130
  <script> prettyPrint(); </script>
@@ -127,7 +127,7 @@ module.exports = class GraphBinaryWriter {
127
127
  <br class="clear">
128
128
 
129
129
  <footer>
130
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
130
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
131
131
  </footer>
132
132
 
133
133
  <script> prettyPrint(); </script>
@@ -343,7 +343,7 @@ module.exports = {
343
343
  <br class="clear">
344
344
 
345
345
  <footer>
346
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
346
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
347
347
  </footer>
348
348
 
349
349
  <script> prettyPrint(); </script>
@@ -546,7 +546,7 @@ module.exports = {
546
546
  <br class="clear">
547
547
 
548
548
  <footer>
549
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
549
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
550
550
  </footer>
551
551
 
552
552
  <script> prettyPrint(); </script>
package/doc/utils.js.html CHANGED
@@ -53,7 +53,7 @@
53
53
 
54
54
  const uuid = require('uuid');
55
55
 
56
- const gremlinVersion = '3.7.2'; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
56
+ const gremlinVersion = '3.7.4'; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
57
57
 
58
58
  exports.toLong = function toLong(value) {
59
59
  return new Long(value);
@@ -172,7 +172,7 @@ module.exports.DeferredPromise = DeferredPromise;
172
172
  <br class="clear">
173
173
 
174
174
  <footer>
175
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Apr 15 2024 11:06:40 GMT-0700 (Pacific Daylight Time)
175
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Fri Aug 08 2025 09:56:42 GMT-0700 (Pacific Daylight Time)
176
176
  </footer>
177
177
 
178
178
  <script> prettyPrint(); </script>
@@ -15,8 +15,6 @@
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
17
 
18
- version: "3.8"
19
-
20
18
  services:
21
19
 
22
20
  gremlin-server-test-js:
@@ -45,7 +43,7 @@ services:
45
43
 
46
44
  gremlin-js-integration-tests:
47
45
  container_name: gremlin-js-integration-tests
48
- image: node:18
46
+ image: node:20
49
47
  volumes:
50
48
  - .:/js_app
51
49
  - ../../../../../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features:/gremlin-test
@@ -44,6 +44,7 @@ class Client {
44
44
  * @param {String} [options.processor] The name of the opProcessor to use, leave it undefined or set 'session' when session mode.
45
45
  * @param {String} [options.session] The sessionId of Client in session mode. Defaults to null means session-less Client.
46
46
  * @param {http.Agent} [options.agent] The http.Agent implementation to use.
47
+ * @param {Boolean} [options.enableCompression] Enable per-message deflate compression. Defaults to: false.
47
48
  * @constructor
48
49
  */
49
50
  constructor(url, options = {}) {