gremlin 3.7.4 → 3.7.5

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 (75) hide show
  1. package/doc/AnonymousTraversalSource.html +1 -1
  2. package/doc/Authenticator.html +1 -1
  3. package/doc/Bytecode.html +1 -1
  4. package/doc/CardinalityValue.html +1 -1
  5. package/doc/Client.html +1 -1
  6. package/doc/Connection.html +4 -4
  7. package/doc/DataType.js.html +150 -0
  8. package/doc/DriverRemoteConnection.html +1 -1
  9. package/doc/EdgeLabelVerificationStrategy.html +1 -1
  10. package/doc/Graph.html +1 -1
  11. package/doc/GraphBinaryReader.js.html +132 -0
  12. package/doc/GraphBinaryWriter.js.html +135 -0
  13. package/doc/GraphSON2Reader.html +1 -1
  14. package/doc/GraphSON2Writer.html +1 -1
  15. package/doc/GraphSON3Reader.html +1 -1
  16. package/doc/GraphSON3Writer.html +1 -1
  17. package/doc/GraphTraversal.html +1 -1
  18. package/doc/GraphTraversalSource.html +1 -1
  19. package/doc/HaltedTraverserStrategy.html +1 -1
  20. package/doc/MatchAlgorithmStrategy.html +1 -1
  21. package/doc/P.html +1 -1
  22. package/doc/PartitionStrategy.html +1 -1
  23. package/doc/Path.html +2 -2
  24. package/doc/PlainTextSaslAuthenticator.html +1 -1
  25. package/doc/ProductiveByStrategy.html +1 -1
  26. package/doc/RemoteConnection.html +1 -1
  27. package/doc/RemoteStrategy.html +1 -1
  28. package/doc/RemoteTraversal.html +1 -1
  29. package/doc/ReservedKeysVerificationStrategy.html +1 -1
  30. package/doc/ResponseError.html +1 -1
  31. package/doc/ResultSet.html +1 -1
  32. package/doc/SaslAuthenticator.html +1 -1
  33. package/doc/SaslMechanismBase.html +1 -1
  34. package/doc/SaslMechanismPlain.html +1 -1
  35. package/doc/SeedStrategy.html +1 -1
  36. package/doc/SubgraphStrategy.html +1 -1
  37. package/doc/TextP.html +1 -1
  38. package/doc/Transaction.html +1 -1
  39. package/doc/Translator.html +1 -1
  40. package/doc/TraversalStrategies.html +1 -1
  41. package/doc/TraversalStrategy.html +1 -1
  42. package/doc/TypeSerializer.html +1 -1
  43. package/doc/driver_auth_authenticator.js.html +1 -1
  44. package/doc/driver_auth_mechanisms_sasl-mechanism-base.js.html +1 -1
  45. package/doc/driver_auth_mechanisms_sasl-mechanism-plain.js.html +1 -1
  46. package/doc/driver_auth_plain-text-sasl-authenticator.js.html +1 -1
  47. package/doc/driver_auth_sasl-authenticator.js.html +1 -1
  48. package/doc/driver_client.js.html +1 -1
  49. package/doc/driver_connection.js.html +15 -4
  50. package/doc/driver_driver-remote-connection.js.html +1 -1
  51. package/doc/driver_remote-connection.js.html +1 -1
  52. package/doc/driver_response-error.js.html +1 -1
  53. package/doc/driver_result-set.js.html +1 -1
  54. package/doc/global.html +1 -1
  55. package/doc/index.html +1 -1
  56. package/doc/module.exports.html +1 -1
  57. package/doc/process_anonymous-traversal.js.html +1 -1
  58. package/doc/process_bytecode.js.html +1 -1
  59. package/doc/process_graph-traversal.js.html +7 -1
  60. package/doc/process_transaction.js.html +1 -1
  61. package/doc/process_translator.js.html +1 -1
  62. package/doc/process_traversal-strategy.js.html +1 -1
  63. package/doc/process_traversal.js.html +1 -1
  64. package/doc/structure_graph.js.html +7 -5
  65. package/doc/structure_io_binary_internals_DataType.js.html +1 -1
  66. package/doc/structure_io_binary_internals_GraphBinaryReader.js.html +1 -1
  67. package/doc/structure_io_binary_internals_GraphBinaryWriter.js.html +1 -1
  68. package/doc/structure_io_graph-serializer.js.html +1 -1
  69. package/doc/structure_io_type-serializers.js.html +1 -1
  70. package/doc/utils.js.html +2 -2
  71. package/lib/driver/connection.js +14 -3
  72. package/lib/process/graph-traversal.js +6 -0
  73. package/lib/structure/graph.js +6 -4
  74. package/lib/utils.js +1 -1
  75. package/package.json +1 -1
@@ -163,10 +163,15 @@ class Connection extends EventEmitter {
163
163
 
164
164
  this._ws.addEventListener('open', this.#handleOpen);
165
165
  this._ws.addEventListener('error', this.#handleError);
166
- this._ws.on('unexpected-response', this.#handleUnexpectedResponse);
166
+ // Only attach unexpected-response listener if WebSocket supports .on() method
167
+ // Browser WebSocket does not have this event and .on() method
168
+ if (this._ws && 'on' in this._ws) {
169
+ // The following listener needs to use `.on` and `.off` because the `ws` package's addEventListener only accepts certain event types
170
+ // Ref: https://github.com/websockets/ws/blob/8.16.0/lib/event-target.js#L202-L241
171
+ this._ws.on('unexpected-response', this.#handleUnexpectedResponse);
172
+ }
167
173
  this._ws.addEventListener('message', this.#handleMessage);
168
174
  this._ws.addEventListener('close', this.#handleClose);
169
-
170
175
  return await this._openPromise;
171
176
  }
172
177
 
@@ -415,7 +420,13 @@ class Connection extends EventEmitter {
415
420
  });
416
421
  this._ws.removeEventListener('open', this.#handleOpen);
417
422
  this._ws.removeEventListener('error', this.#handleError);
418
- this._ws.off('unexpected-response', this.#handleUnexpectedResponse);
423
+ // Only remove unexpected-response listener for Node.js WebSocket (ws package)
424
+ // Browser WebSocket does not have this event and .off() method
425
+ if (this._ws && 'off' in this._ws) {
426
+ // The following listener needs to use `.on` and `.off` because the `ws` package's addEventListener only accepts certain event types
427
+ // Ref: https://github.com/websockets/ws/blob/8.16.0/lib/event-target.js#L202-L241
428
+ this._ws.off('unexpected-response', this.#handleUnexpectedResponse);
429
+ }
419
430
  this._ws.removeEventListener('message', this.#handleMessage);
420
431
  this._ws.removeEventListener('close', this.#handleClose);
421
432
  this._openPromise = null;
@@ -1773,13 +1773,16 @@ const statics = {
1773
1773
  choose: (...args) => callOnEmptyTraversal('choose', args),
1774
1774
  coalesce: (...args) => callOnEmptyTraversal('coalesce', args),
1775
1775
  coin: (...args) => callOnEmptyTraversal('coin', args),
1776
+ combine: (...args) => callOnEmptyTraversal('combine', args),
1776
1777
  concat: (...args) => callOnEmptyTraversal('concat', args),
1778
+ conjoin: (...args) => callOnEmptyTraversal('conjoin', args),
1777
1779
  constant: (...args) => callOnEmptyTraversal('constant', args),
1778
1780
  count: (...args) => callOnEmptyTraversal('count', args),
1779
1781
  cyclicPath: (...args) => callOnEmptyTraversal('cyclicPath', args),
1780
1782
  dateAdd: (...args) => callOnEmptyTraversal('dateAdd', args),
1781
1783
  dateDiff: (...args) => callOnEmptyTraversal('dateDiff', args),
1782
1784
  dedup: (...args) => callOnEmptyTraversal('dedup', args),
1785
+ difference: (...args) => callOnEmptyTraversal('difference', args),
1783
1786
  disjunct: (...args) => callOnEmptyTraversal('disjunct', args),
1784
1787
  drop: (...args) => callOnEmptyTraversal('drop', args),
1785
1788
  element: (...args) => callOnEmptyTraversal('element', args),
@@ -1805,6 +1808,7 @@ const statics = {
1805
1808
  inV: (...args) => callOnEmptyTraversal('inV', args),
1806
1809
  index: (...args) => callOnEmptyTraversal('index', args),
1807
1810
  inject: (...args) => callOnEmptyTraversal('inject', args),
1811
+ intersect: (...args) => callOnEmptyTraversal('intersect', args),
1808
1812
  is: (...args) => callOnEmptyTraversal('is', args),
1809
1813
  key: (...args) => callOnEmptyTraversal('key', args),
1810
1814
  label: (...args) => callOnEmptyTraversal('label', args),
@@ -1818,6 +1822,7 @@ const statics = {
1818
1822
  math: (...args) => callOnEmptyTraversal('math', args),
1819
1823
  max: (...args) => callOnEmptyTraversal('max', args),
1820
1824
  mean: (...args) => callOnEmptyTraversal('mean', args),
1825
+ merge: (...args) => callOnEmptyTraversal('merge', args),
1821
1826
  mergeE: (...args) => callOnEmptyTraversal('mergeE', args),
1822
1827
  mergeV: (...args) => callOnEmptyTraversal('mergeV', args),
1823
1828
  min: (...args) => callOnEmptyTraversal('min', args),
@@ -1831,6 +1836,7 @@ const statics = {
1831
1836
  outE: (...args) => callOnEmptyTraversal('outE', args),
1832
1837
  outV: (...args) => callOnEmptyTraversal('outV', args),
1833
1838
  path: (...args) => callOnEmptyTraversal('path', args),
1839
+ product: (...args) => callOnEmptyTraversal('product', args),
1834
1840
  project: (...args) => callOnEmptyTraversal('project', args),
1835
1841
  properties: (...args) => callOnEmptyTraversal('properties', args),
1836
1842
  property: (...args) => callOnEmptyTraversal('property', args),
@@ -79,10 +79,12 @@ class Edge extends Element {
79
79
  this.inV = inV;
80
80
  this.properties = {};
81
81
  if (properties) {
82
- const keys = Object.keys(properties);
83
- for (let i = 0; i < keys.length; i++) {
84
- const k = keys[i];
85
- this.properties[k] = properties[k].value;
82
+ if (Array.isArray(properties)) {
83
+ // Handle array of Property objects
84
+ properties.forEach((prop) => (this.properties[prop.key] = prop.value));
85
+ } else {
86
+ // Handle object format as before
87
+ Object.keys(properties).forEach((k) => (this.properties[k] = properties[k].value));
86
88
  }
87
89
  }
88
90
  }
package/lib/utils.js CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  const uuid = require('uuid');
27
27
 
28
- const gremlinVersion = '3.7.4'; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
28
+ const gremlinVersion = '3.7.5'; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
29
29
 
30
30
  exports.toLong = function toLong(value) {
31
31
  return new Long(value);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gremlin",
3
- "version": "3.7.4",
3
+ "version": "3.7.5",
4
4
  "description": "JavaScript Gremlin Language Variant",
5
5
  "author": "Apache TinkerPop team",
6
6
  "keywords": [