gremlin 3.5.1 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/.eslintrc.js +154 -0
  2. package/.prettierrc.js +29 -0
  3. package/Gruntfile.js +15 -16
  4. package/README.md +2 -2
  5. package/doc/AnonymousTraversalSource.html +5 -5
  6. package/doc/Authenticator.html +2 -2
  7. package/doc/Bytecode.html +7 -7
  8. package/doc/Client.html +138 -64
  9. package/doc/Connection.html +89 -5
  10. package/doc/DriverRemoteConnection.html +11 -11
  11. package/doc/EdgeLabelVerificationStrategy.html +3 -3
  12. package/doc/Graph.html +2 -2
  13. package/doc/GraphSON2Reader.html +4 -4
  14. package/doc/GraphSON2Writer.html +3 -3
  15. package/doc/GraphSON3Reader.html +3 -3
  16. package/doc/GraphSON3Writer.html +3 -3
  17. package/doc/GraphTraversal.html +1025 -190
  18. package/doc/GraphTraversalSource.html +520 -19
  19. package/doc/HaltedTraverserStrategy.html +3 -3
  20. package/doc/MatchAlgorithmStrategy.html +3 -3
  21. package/doc/P.html +13 -13
  22. package/doc/PartitionStrategy.html +3 -3
  23. package/doc/Path.html +2 -2
  24. package/doc/PlainTextSaslAuthenticator.html +2 -2
  25. package/doc/ProductiveByStrategy.html +288 -0
  26. package/doc/RemoteConnection.html +10 -10
  27. package/doc/RemoteStrategy.html +4 -4
  28. package/doc/RemoteTraversal.html +3 -3
  29. package/doc/ReservedKeysVerificationStrategy.html +3 -3
  30. package/doc/ResponseError.html +2 -2
  31. package/doc/ResultSet.html +7 -7
  32. package/doc/SaslAuthenticator.html +2 -2
  33. package/doc/SaslMechanismBase.html +2 -2
  34. package/doc/SaslMechanismPlain.html +6 -6
  35. package/doc/SeedStrategy.html +288 -0
  36. package/doc/SubgraphStrategy.html +3 -3
  37. package/doc/TextP.html +300 -10
  38. package/doc/Transaction.html +6 -6
  39. package/doc/Translator.html +198 -4
  40. package/doc/TraversalStrategies.html +5 -5
  41. package/doc/TraversalStrategy.html +3 -3
  42. package/doc/TypeSerializer.html +2 -2
  43. package/doc/driver_auth_authenticator.js.html +4 -4
  44. package/doc/driver_auth_mechanisms_sasl-mechanism-base.js.html +3 -3
  45. package/doc/driver_auth_mechanisms_sasl-mechanism-plain.js.html +26 -17
  46. package/doc/driver_auth_plain-text-sasl-authenticator.js.html +7 -7
  47. package/doc/driver_auth_sasl-authenticator.js.html +3 -3
  48. package/doc/driver_client.js.html +73 -23
  49. package/doc/driver_connection.js.html +108 -89
  50. package/doc/driver_driver-remote-connection.js.html +12 -11
  51. package/doc/driver_remote-connection.js.html +4 -5
  52. package/doc/driver_response-error.js.html +5 -4
  53. package/doc/driver_result-set.js.html +4 -4
  54. package/doc/global.html +200 -3
  55. package/doc/index.html +4 -4
  56. package/doc/process_anonymous-traversal.js.html +4 -4
  57. package/doc/process_bytecode.js.html +11 -9
  58. package/doc/process_graph-traversal.js.html +277 -143
  59. package/doc/process_transaction.js.html +16 -9
  60. package/doc/process_translator.js.html +53 -37
  61. package/doc/process_traversal-strategy.js.html +83 -53
  62. package/doc/process_traversal.js.html +111 -107
  63. package/doc/structure_graph.js.html +7 -7
  64. package/doc/structure_io_graph-serializer.js.html +65 -18
  65. package/doc/structure_io_type-serializers.js.html +86 -89
  66. package/index.js +5 -5
  67. package/lib/driver/auth/authenticator.js +2 -2
  68. package/lib/driver/auth/mechanisms/sasl-mechanism-base.js +1 -1
  69. package/lib/driver/auth/mechanisms/sasl-mechanism-plain.js +24 -15
  70. package/lib/driver/auth/plain-text-sasl-authenticator.js +5 -5
  71. package/lib/driver/auth/sasl-authenticator.js +1 -1
  72. package/lib/driver/client.js +71 -21
  73. package/lib/driver/connection.js +106 -87
  74. package/lib/driver/driver-remote-connection.js +10 -9
  75. package/lib/driver/remote-connection.js +2 -3
  76. package/lib/driver/response-error.js +2 -2
  77. package/lib/driver/result-set.js +1 -2
  78. package/lib/process/anonymous-traversal.js +1 -2
  79. package/lib/process/bytecode.js +9 -7
  80. package/lib/process/graph-traversal.js +274 -141
  81. package/lib/process/transaction.js +13 -7
  82. package/lib/process/translator.js +50 -35
  83. package/lib/process/traversal-strategy.js +80 -51
  84. package/lib/process/traversal.js +109 -105
  85. package/lib/structure/graph.js +5 -5
  86. package/lib/structure/io/graph-serializer.js +62 -16
  87. package/lib/structure/io/type-serializers.js +84 -87
  88. package/lib/utils.js +15 -10
  89. package/package.json +11 -4
@@ -32,7 +32,6 @@ const { TraversalStrategies, VertexProgramStrategy, OptionsStrategy } = require(
32
32
  * Represents the primary DSL of the Gremlin traversal machine.
33
33
  */
34
34
  class GraphTraversalSource {
35
-
36
35
  /**
37
36
  * Creates a new instance of {@link GraphTraversalSource}.
38
37
  * @param {Graph} graph
@@ -51,7 +50,7 @@ class GraphTraversalSource {
51
50
  // in order to keep the constructor unchanged within 3.5.x we can try to pop the RemoteConnection out of the
52
51
  // TraversalStrategies. keeping this unchanged will allow user DSLs to not take a break.
53
52
  // TODO: refactor this to be nicer in 3.6.0 when we can take a breaking change
54
- const strat = traversalStrategies.strategies.find(ts => ts.fqcn === "js:RemoteStrategy");
53
+ const strat = traversalStrategies.strategies.find((ts) => ts.fqcn === 'js:RemoteStrategy');
55
54
  this.remoteConnection = strat !== undefined ? strat.connection : undefined;
56
55
  }
57
56
 
@@ -62,8 +61,13 @@ class GraphTraversalSource {
62
61
  withRemote(remoteConnection) {
63
62
  const traversalStrategy = new TraversalStrategies(this.traversalStrategies);
64
63
  traversalStrategy.addStrategy(new remote.RemoteStrategy(remoteConnection));
65
- return new this.graphTraversalSourceClass(this.graph, traversalStrategy, new Bytecode(this.bytecode),
66
- this.graphTraversalSourceClass, this.graphTraversalClass);
64
+ return new this.graphTraversalSourceClass(
65
+ this.graph,
66
+ traversalStrategy,
67
+ new Bytecode(this.bytecode),
68
+ this.graphTraversalSourceClass,
69
+ this.graphTraversalClass,
70
+ );
67
71
  }
68
72
 
69
73
  /**
@@ -73,7 +77,7 @@ class GraphTraversalSource {
73
77
  tx() {
74
78
  // you can't do g.tx().begin().tx() - no child transactions
75
79
  if (this.remoteConnection && this.remoteConnection.isSessionBound) {
76
- throw new Error("This TraversalSource is already bound to a transaction - child transactions are not supported")
80
+ throw new Error('This TraversalSource is already bound to a transaction - child transactions are not supported');
77
81
  }
78
82
 
79
83
  return new Transaction(this);
@@ -90,9 +94,17 @@ class GraphTraversalSource {
90
94
  * @returns {GraphTraversalSource}
91
95
  */
92
96
  withComputer(graphComputer, workers, result, persist, vertices, edges, configuration) {
93
- return this.withStrategies(new VertexProgramStrategy({graphComputer: graphComputer,
94
- workers: workers, result: result, persist: persist, vertices: vertices, edges: edges,
95
- configuration: configuration}));
97
+ return this.withStrategies(
98
+ new VertexProgramStrategy({
99
+ graphComputer: graphComputer,
100
+ workers: workers,
101
+ result: result,
102
+ persist: persist,
103
+ vertices: vertices,
104
+ edges: edges,
105
+ configuration: configuration,
106
+ }),
107
+ );
96
108
  }
97
109
 
98
110
  /**
@@ -101,18 +113,23 @@ class GraphTraversalSource {
101
113
  * @param {Object} value if not specified, the value with default to {@code true}
102
114
  * @returns {GraphTraversalSource}
103
115
  */
104
- with_(key, value=undefined) {
116
+ with_(key, value = undefined) {
105
117
  const val = value === undefined ? true : value;
106
118
  let optionsStrategy = this.bytecode.sourceInstructions.find(
107
- i => i[0] === "withStrategies" && i[1] instanceof OptionsStrategy);
119
+ (i) => i[0] === 'withStrategies' && i[1] instanceof OptionsStrategy,
120
+ );
108
121
  if (optionsStrategy === undefined) {
109
- optionsStrategy = new OptionsStrategy({[key]: val});
122
+ optionsStrategy = new OptionsStrategy({ [key]: val });
110
123
  return this.withStrategies(optionsStrategy);
111
- } else {
112
- optionsStrategy[1].configuration[key] = val;
113
- return new this.graphTraversalSourceClass(this.graph, new TraversalStrategies(this.traversalStrategies),
114
- this.bytecode, this.graphTraversalSourceClass, this.graphTraversalClass);
115
124
  }
125
+ optionsStrategy[1].configuration[key] = val;
126
+ return new this.graphTraversalSourceClass(
127
+ this.graph,
128
+ new TraversalStrategies(this.traversalStrategies),
129
+ this.bytecode,
130
+ this.graphTraversalSourceClass,
131
+ this.graphTraversalClass,
132
+ );
116
133
  }
117
134
 
118
135
  /**
@@ -122,7 +139,7 @@ class GraphTraversalSource {
122
139
  toString() {
123
140
  return 'graphtraversalsource[' + this.graph.toString() + ']';
124
141
  }
125
-
142
+
126
143
  /**
127
144
  * Graph Traversal Source withBulk method.
128
145
  * @param {...Object} args
@@ -130,9 +147,15 @@ class GraphTraversalSource {
130
147
  */
131
148
  withBulk(...args) {
132
149
  const b = new Bytecode(this.bytecode).addSource('withBulk', args);
133
- return new this.graphTraversalSourceClass(this.graph, new TraversalStrategies(this.traversalStrategies), b, this.graphTraversalSourceClass, this.graphTraversalClass);
150
+ return new this.graphTraversalSourceClass(
151
+ this.graph,
152
+ new TraversalStrategies(this.traversalStrategies),
153
+ b,
154
+ this.graphTraversalSourceClass,
155
+ this.graphTraversalClass,
156
+ );
134
157
  }
135
-
158
+
136
159
  /**
137
160
  * Graph Traversal Source withPath method.
138
161
  * @param {...Object} args
@@ -140,9 +163,15 @@ class GraphTraversalSource {
140
163
  */
141
164
  withPath(...args) {
142
165
  const b = new Bytecode(this.bytecode).addSource('withPath', args);
143
- return new this.graphTraversalSourceClass(this.graph, new TraversalStrategies(this.traversalStrategies), b, this.graphTraversalSourceClass, this.graphTraversalClass);
166
+ return new this.graphTraversalSourceClass(
167
+ this.graph,
168
+ new TraversalStrategies(this.traversalStrategies),
169
+ b,
170
+ this.graphTraversalSourceClass,
171
+ this.graphTraversalClass,
172
+ );
144
173
  }
145
-
174
+
146
175
  /**
147
176
  * Graph Traversal Source withSack method.
148
177
  * @param {...Object} args
@@ -150,9 +179,15 @@ class GraphTraversalSource {
150
179
  */
151
180
  withSack(...args) {
152
181
  const b = new Bytecode(this.bytecode).addSource('withSack', args);
153
- return new this.graphTraversalSourceClass(this.graph, new TraversalStrategies(this.traversalStrategies), b, this.graphTraversalSourceClass, this.graphTraversalClass);
182
+ return new this.graphTraversalSourceClass(
183
+ this.graph,
184
+ new TraversalStrategies(this.traversalStrategies),
185
+ b,
186
+ this.graphTraversalSourceClass,
187
+ this.graphTraversalClass,
188
+ );
154
189
  }
155
-
190
+
156
191
  /**
157
192
  * Graph Traversal Source withSideEffect method.
158
193
  * @param {...Object} args
@@ -160,9 +195,15 @@ class GraphTraversalSource {
160
195
  */
161
196
  withSideEffect(...args) {
162
197
  const b = new Bytecode(this.bytecode).addSource('withSideEffect', args);
163
- return new this.graphTraversalSourceClass(this.graph, new TraversalStrategies(this.traversalStrategies), b, this.graphTraversalSourceClass, this.graphTraversalClass);
198
+ return new this.graphTraversalSourceClass(
199
+ this.graph,
200
+ new TraversalStrategies(this.traversalStrategies),
201
+ b,
202
+ this.graphTraversalSourceClass,
203
+ this.graphTraversalClass,
204
+ );
164
205
  }
165
-
206
+
166
207
  /**
167
208
  * Graph Traversal Source withStrategies method.
168
209
  * @param {...Object} args
@@ -170,9 +211,15 @@ class GraphTraversalSource {
170
211
  */
171
212
  withStrategies(...args) {
172
213
  const b = new Bytecode(this.bytecode).addSource('withStrategies', args);
173
- return new this.graphTraversalSourceClass(this.graph, new TraversalStrategies(this.traversalStrategies), b, this.graphTraversalSourceClass, this.graphTraversalClass);
214
+ return new this.graphTraversalSourceClass(
215
+ this.graph,
216
+ new TraversalStrategies(this.traversalStrategies),
217
+ b,
218
+ this.graphTraversalSourceClass,
219
+ this.graphTraversalClass,
220
+ );
174
221
  }
175
-
222
+
176
223
  /**
177
224
  * Graph Traversal Source withoutStrategies method.
178
225
  * @param {...Object} args
@@ -180,9 +227,15 @@ class GraphTraversalSource {
180
227
  */
181
228
  withoutStrategies(...args) {
182
229
  const b = new Bytecode(this.bytecode).addSource('withoutStrategies', args);
183
- return new this.graphTraversalSourceClass(this.graph, new TraversalStrategies(this.traversalStrategies), b, this.graphTraversalSourceClass, this.graphTraversalClass);
230
+ return new this.graphTraversalSourceClass(
231
+ this.graph,
232
+ new TraversalStrategies(this.traversalStrategies),
233
+ b,
234
+ this.graphTraversalSourceClass,
235
+ this.graphTraversalClass,
236
+ );
184
237
  }
185
-
238
+
186
239
  /**
187
240
  * E GraphTraversalSource step method.
188
241
  * @param {...Object} args
@@ -192,7 +245,7 @@ class GraphTraversalSource {
192
245
  const b = new Bytecode(this.bytecode).addStep('E', args);
193
246
  return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
194
247
  }
195
-
248
+
196
249
  /**
197
250
  * V GraphTraversalSource step method.
198
251
  * @param {...Object} args
@@ -202,7 +255,7 @@ class GraphTraversalSource {
202
255
  const b = new Bytecode(this.bytecode).addStep('V', args);
203
256
  return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
204
257
  }
205
-
258
+
206
259
  /**
207
260
  * addE GraphTraversalSource step method.
208
261
  * @param {...Object} args
@@ -212,7 +265,17 @@ class GraphTraversalSource {
212
265
  const b = new Bytecode(this.bytecode).addStep('addE', args);
213
266
  return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
214
267
  }
215
-
268
+
269
+ /**
270
+ * mergeV GraphTraversalSource step method.
271
+ * @param {...Object} args
272
+ * @returns {GraphTraversal}
273
+ */
274
+ mergeE(...args) {
275
+ const b = new Bytecode(this.bytecode).addStep('mergeE', args);
276
+ return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
277
+ }
278
+
216
279
  /**
217
280
  * addV GraphTraversalSource step method.
218
281
  * @param {...Object} args
@@ -222,7 +285,17 @@ class GraphTraversalSource {
222
285
  const b = new Bytecode(this.bytecode).addStep('addV', args);
223
286
  return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
224
287
  }
225
-
288
+
289
+ /**
290
+ * mergeV GraphTraversalSource step method.
291
+ * @param {...Object} args
292
+ * @returns {GraphTraversal}
293
+ */
294
+ mergeV(...args) {
295
+ const b = new Bytecode(this.bytecode).addStep('mergeV', args);
296
+ return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
297
+ }
298
+
226
299
  /**
227
300
  * inject GraphTraversalSource step method.
228
301
  * @param {...Object} args
@@ -232,7 +305,7 @@ class GraphTraversalSource {
232
305
  const b = new Bytecode(this.bytecode).addStep('inject', args);
233
306
  return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
234
307
  }
235
-
308
+
236
309
  /**
237
310
  * io GraphTraversalSource step method.
238
311
  * @param {...Object} args
@@ -242,7 +315,16 @@ class GraphTraversalSource {
242
315
  const b = new Bytecode(this.bytecode).addStep('io', args);
243
316
  return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
244
317
  }
245
-
318
+
319
+ /**
320
+ * call GraphTraversalSource step method.
321
+ * @param {...Object} args
322
+ * @returns {GraphTraversal}
323
+ */
324
+ call(...args) {
325
+ const b = new Bytecode(this.bytecode).addStep('call', args);
326
+ return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
327
+ }
246
328
  }
247
329
 
248
330
  /**
@@ -260,7 +342,6 @@ class GraphTraversal extends Traversal {
260
342
  return new GraphTraversal(this.graph, this.traversalStrategies, this.getBytecode());
261
343
  }
262
344
 
263
-
264
345
  /**
265
346
  * Graph traversal V method.
266
347
  * @param {...Object} args
@@ -270,7 +351,7 @@ class GraphTraversal extends Traversal {
270
351
  this.bytecode.addStep('V', args);
271
352
  return this;
272
353
  }
273
-
354
+
274
355
  /**
275
356
  * Graph traversal addE method.
276
357
  * @param {...Object} args
@@ -280,7 +361,7 @@ class GraphTraversal extends Traversal {
280
361
  this.bytecode.addStep('addE', args);
281
362
  return this;
282
363
  }
283
-
364
+
284
365
  /**
285
366
  * Graph traversal addV method.
286
367
  * @param {...Object} args
@@ -290,7 +371,7 @@ class GraphTraversal extends Traversal {
290
371
  this.bytecode.addStep('addV', args);
291
372
  return this;
292
373
  }
293
-
374
+
294
375
  /**
295
376
  * Graph traversal aggregate method.
296
377
  * @param {...Object} args
@@ -300,7 +381,7 @@ class GraphTraversal extends Traversal {
300
381
  this.bytecode.addStep('aggregate', args);
301
382
  return this;
302
383
  }
303
-
384
+
304
385
  /**
305
386
  * Graph traversal and method.
306
387
  * @param {...Object} args
@@ -310,7 +391,7 @@ class GraphTraversal extends Traversal {
310
391
  this.bytecode.addStep('and', args);
311
392
  return this;
312
393
  }
313
-
394
+
314
395
  /**
315
396
  * Graph traversal as method.
316
397
  * @param {...Object} args
@@ -320,7 +401,7 @@ class GraphTraversal extends Traversal {
320
401
  this.bytecode.addStep('as', args);
321
402
  return this;
322
403
  }
323
-
404
+
324
405
  /**
325
406
  * Graph traversal barrier method.
326
407
  * @param {...Object} args
@@ -330,7 +411,7 @@ class GraphTraversal extends Traversal {
330
411
  this.bytecode.addStep('barrier', args);
331
412
  return this;
332
413
  }
333
-
414
+
334
415
  /**
335
416
  * Graph traversal both method.
336
417
  * @param {...Object} args
@@ -340,7 +421,7 @@ class GraphTraversal extends Traversal {
340
421
  this.bytecode.addStep('both', args);
341
422
  return this;
342
423
  }
343
-
424
+
344
425
  /**
345
426
  * Graph traversal bothE method.
346
427
  * @param {...Object} args
@@ -350,7 +431,7 @@ class GraphTraversal extends Traversal {
350
431
  this.bytecode.addStep('bothE', args);
351
432
  return this;
352
433
  }
353
-
434
+
354
435
  /**
355
436
  * Graph traversal bothV method.
356
437
  * @param {...Object} args
@@ -360,7 +441,7 @@ class GraphTraversal extends Traversal {
360
441
  this.bytecode.addStep('bothV', args);
361
442
  return this;
362
443
  }
363
-
444
+
364
445
  /**
365
446
  * Graph traversal branch method.
366
447
  * @param {...Object} args
@@ -370,7 +451,7 @@ class GraphTraversal extends Traversal {
370
451
  this.bytecode.addStep('branch', args);
371
452
  return this;
372
453
  }
373
-
454
+
374
455
  /**
375
456
  * Graph traversal by method.
376
457
  * @param {...Object} args
@@ -380,7 +461,16 @@ class GraphTraversal extends Traversal {
380
461
  this.bytecode.addStep('by', args);
381
462
  return this;
382
463
  }
383
-
464
+
465
+ /**
466
+ * Graph traversal call method.
467
+ * @param {...Object} args
468
+ * @returns {GraphTraversal}
469
+ */
470
+ call(...args) {
471
+ this.bytecode.addStep('call', args);
472
+ return this;
473
+ }
384
474
  /**
385
475
  * Graph traversal cap method.
386
476
  * @param {...Object} args
@@ -390,7 +480,7 @@ class GraphTraversal extends Traversal {
390
480
  this.bytecode.addStep('cap', args);
391
481
  return this;
392
482
  }
393
-
483
+
394
484
  /**
395
485
  * Graph traversal choose method.
396
486
  * @param {...Object} args
@@ -400,7 +490,7 @@ class GraphTraversal extends Traversal {
400
490
  this.bytecode.addStep('choose', args);
401
491
  return this;
402
492
  }
403
-
493
+
404
494
  /**
405
495
  * Graph traversal coalesce method.
406
496
  * @param {...Object} args
@@ -410,7 +500,7 @@ class GraphTraversal extends Traversal {
410
500
  this.bytecode.addStep('coalesce', args);
411
501
  return this;
412
502
  }
413
-
503
+
414
504
  /**
415
505
  * Graph traversal coin method.
416
506
  * @param {...Object} args
@@ -420,7 +510,7 @@ class GraphTraversal extends Traversal {
420
510
  this.bytecode.addStep('coin', args);
421
511
  return this;
422
512
  }
423
-
513
+
424
514
  /**
425
515
  * Graph traversal connectedComponent method.
426
516
  * @param {...Object} args
@@ -430,7 +520,7 @@ class GraphTraversal extends Traversal {
430
520
  this.bytecode.addStep('connectedComponent', args);
431
521
  return this;
432
522
  }
433
-
523
+
434
524
  /**
435
525
  * Graph traversal constant method.
436
526
  * @param {...Object} args
@@ -440,7 +530,7 @@ class GraphTraversal extends Traversal {
440
530
  this.bytecode.addStep('constant', args);
441
531
  return this;
442
532
  }
443
-
533
+
444
534
  /**
445
535
  * Graph traversal count method.
446
536
  * @param {...Object} args
@@ -450,7 +540,7 @@ class GraphTraversal extends Traversal {
450
540
  this.bytecode.addStep('count', args);
451
541
  return this;
452
542
  }
453
-
543
+
454
544
  /**
455
545
  * Graph traversal cyclicPath method.
456
546
  * @param {...Object} args
@@ -460,7 +550,7 @@ class GraphTraversal extends Traversal {
460
550
  this.bytecode.addStep('cyclicPath', args);
461
551
  return this;
462
552
  }
463
-
553
+
464
554
  /**
465
555
  * Graph traversal dedup method.
466
556
  * @param {...Object} args
@@ -470,7 +560,7 @@ class GraphTraversal extends Traversal {
470
560
  this.bytecode.addStep('dedup', args);
471
561
  return this;
472
562
  }
473
-
563
+
474
564
  /**
475
565
  * Graph traversal drop method.
476
566
  * @param {...Object} args
@@ -480,7 +570,16 @@ class GraphTraversal extends Traversal {
480
570
  this.bytecode.addStep('drop', args);
481
571
  return this;
482
572
  }
483
-
573
+
574
+ /**
575
+ * Graph traversal element method.
576
+ * @param {...Object} args
577
+ * @returns {GraphTraversal}
578
+ */
579
+ element(...args) {
580
+ this.bytecode.addStep('element', args);
581
+ return this;
582
+ }
484
583
  /**
485
584
  * Graph traversal elementMap method.
486
585
  * @param {...Object} args
@@ -490,7 +589,7 @@ class GraphTraversal extends Traversal {
490
589
  this.bytecode.addStep('elementMap', args);
491
590
  return this;
492
591
  }
493
-
592
+
494
593
  /**
495
594
  * Graph traversal emit method.
496
595
  * @param {...Object} args
@@ -500,7 +599,17 @@ class GraphTraversal extends Traversal {
500
599
  this.bytecode.addStep('emit', args);
501
600
  return this;
502
601
  }
503
-
602
+
603
+ /**
604
+ * Graph traversal fa method.
605
+ * @param {...Object} args
606
+ * @returns {GraphTraversal}
607
+ */
608
+ fail(...args) {
609
+ this.bytecode.addStep('fail', args);
610
+ return this;
611
+ }
612
+
504
613
  /**
505
614
  * Graph traversal filter method.
506
615
  * @param {...Object} args
@@ -510,7 +619,7 @@ class GraphTraversal extends Traversal {
510
619
  this.bytecode.addStep('filter', args);
511
620
  return this;
512
621
  }
513
-
622
+
514
623
  /**
515
624
  * Graph traversal flatMap method.
516
625
  * @param {...Object} args
@@ -520,7 +629,7 @@ class GraphTraversal extends Traversal {
520
629
  this.bytecode.addStep('flatMap', args);
521
630
  return this;
522
631
  }
523
-
632
+
524
633
  /**
525
634
  * Graph traversal fold method.
526
635
  * @param {...Object} args
@@ -530,7 +639,7 @@ class GraphTraversal extends Traversal {
530
639
  this.bytecode.addStep('fold', args);
531
640
  return this;
532
641
  }
533
-
642
+
534
643
  /**
535
644
  * Graph traversal from method.
536
645
  * @param {...Object} args
@@ -540,7 +649,7 @@ class GraphTraversal extends Traversal {
540
649
  this.bytecode.addStep('from', args);
541
650
  return this;
542
651
  }
543
-
652
+
544
653
  /**
545
654
  * Graph traversal group method.
546
655
  * @param {...Object} args
@@ -550,7 +659,7 @@ class GraphTraversal extends Traversal {
550
659
  this.bytecode.addStep('group', args);
551
660
  return this;
552
661
  }
553
-
662
+
554
663
  /**
555
664
  * Graph traversal groupCount method.
556
665
  * @param {...Object} args
@@ -560,7 +669,7 @@ class GraphTraversal extends Traversal {
560
669
  this.bytecode.addStep('groupCount', args);
561
670
  return this;
562
671
  }
563
-
672
+
564
673
  /**
565
674
  * Graph traversal has method.
566
675
  * @param {...Object} args
@@ -570,7 +679,7 @@ class GraphTraversal extends Traversal {
570
679
  this.bytecode.addStep('has', args);
571
680
  return this;
572
681
  }
573
-
682
+
574
683
  /**
575
684
  * Graph traversal hasId method.
576
685
  * @param {...Object} args
@@ -580,7 +689,7 @@ class GraphTraversal extends Traversal {
580
689
  this.bytecode.addStep('hasId', args);
581
690
  return this;
582
691
  }
583
-
692
+
584
693
  /**
585
694
  * Graph traversal hasKey method.
586
695
  * @param {...Object} args
@@ -590,7 +699,7 @@ class GraphTraversal extends Traversal {
590
699
  this.bytecode.addStep('hasKey', args);
591
700
  return this;
592
701
  }
593
-
702
+
594
703
  /**
595
704
  * Graph traversal hasLabel method.
596
705
  * @param {...Object} args
@@ -600,7 +709,7 @@ class GraphTraversal extends Traversal {
600
709
  this.bytecode.addStep('hasLabel', args);
601
710
  return this;
602
711
  }
603
-
712
+
604
713
  /**
605
714
  * Graph traversal hasNot method.
606
715
  * @param {...Object} args
@@ -610,7 +719,7 @@ class GraphTraversal extends Traversal {
610
719
  this.bytecode.addStep('hasNot', args);
611
720
  return this;
612
721
  }
613
-
722
+
614
723
  /**
615
724
  * Graph traversal hasValue method.
616
725
  * @param {...Object} args
@@ -620,7 +729,7 @@ class GraphTraversal extends Traversal {
620
729
  this.bytecode.addStep('hasValue', args);
621
730
  return this;
622
731
  }
623
-
732
+
624
733
  /**
625
734
  * Graph traversal id method.
626
735
  * @param {...Object} args
@@ -630,7 +739,7 @@ class GraphTraversal extends Traversal {
630
739
  this.bytecode.addStep('id', args);
631
740
  return this;
632
741
  }
633
-
742
+
634
743
  /**
635
744
  * Graph traversal identity method.
636
745
  * @param {...Object} args
@@ -640,7 +749,7 @@ class GraphTraversal extends Traversal {
640
749
  this.bytecode.addStep('identity', args);
641
750
  return this;
642
751
  }
643
-
752
+
644
753
  /**
645
754
  * Graph traversal in method.
646
755
  * @param {...Object} args
@@ -650,7 +759,7 @@ class GraphTraversal extends Traversal {
650
759
  this.bytecode.addStep('in', args);
651
760
  return this;
652
761
  }
653
-
762
+
654
763
  /**
655
764
  * Graph traversal inE method.
656
765
  * @param {...Object} args
@@ -660,7 +769,7 @@ class GraphTraversal extends Traversal {
660
769
  this.bytecode.addStep('inE', args);
661
770
  return this;
662
771
  }
663
-
772
+
664
773
  /**
665
774
  * Graph traversal inV method.
666
775
  * @param {...Object} args
@@ -670,7 +779,7 @@ class GraphTraversal extends Traversal {
670
779
  this.bytecode.addStep('inV', args);
671
780
  return this;
672
781
  }
673
-
782
+
674
783
  /**
675
784
  * Graph traversal index method.
676
785
  * @param {...Object} args
@@ -680,7 +789,7 @@ class GraphTraversal extends Traversal {
680
789
  this.bytecode.addStep('index', args);
681
790
  return this;
682
791
  }
683
-
792
+
684
793
  /**
685
794
  * Graph traversal inject method.
686
795
  * @param {...Object} args
@@ -690,7 +799,7 @@ class GraphTraversal extends Traversal {
690
799
  this.bytecode.addStep('inject', args);
691
800
  return this;
692
801
  }
693
-
802
+
694
803
  /**
695
804
  * Graph traversal is method.
696
805
  * @param {...Object} args
@@ -700,7 +809,7 @@ class GraphTraversal extends Traversal {
700
809
  this.bytecode.addStep('is', args);
701
810
  return this;
702
811
  }
703
-
812
+
704
813
  /**
705
814
  * Graph traversal key method.
706
815
  * @param {...Object} args
@@ -710,7 +819,7 @@ class GraphTraversal extends Traversal {
710
819
  this.bytecode.addStep('key', args);
711
820
  return this;
712
821
  }
713
-
822
+
714
823
  /**
715
824
  * Graph traversal label method.
716
825
  * @param {...Object} args
@@ -720,7 +829,7 @@ class GraphTraversal extends Traversal {
720
829
  this.bytecode.addStep('label', args);
721
830
  return this;
722
831
  }
723
-
832
+
724
833
  /**
725
834
  * Graph traversal limit method.
726
835
  * @param {...Object} args
@@ -730,7 +839,7 @@ class GraphTraversal extends Traversal {
730
839
  this.bytecode.addStep('limit', args);
731
840
  return this;
732
841
  }
733
-
842
+
734
843
  /**
735
844
  * Graph traversal local method.
736
845
  * @param {...Object} args
@@ -740,7 +849,7 @@ class GraphTraversal extends Traversal {
740
849
  this.bytecode.addStep('local', args);
741
850
  return this;
742
851
  }
743
-
852
+
744
853
  /**
745
854
  * Graph traversal loops method.
746
855
  * @param {...Object} args
@@ -750,7 +859,7 @@ class GraphTraversal extends Traversal {
750
859
  this.bytecode.addStep('loops', args);
751
860
  return this;
752
861
  }
753
-
862
+
754
863
  /**
755
864
  * Graph traversal map method.
756
865
  * @param {...Object} args
@@ -760,7 +869,7 @@ class GraphTraversal extends Traversal {
760
869
  this.bytecode.addStep('map', args);
761
870
  return this;
762
871
  }
763
-
872
+
764
873
  /**
765
874
  * Graph traversal match method.
766
875
  * @param {...Object} args
@@ -770,7 +879,7 @@ class GraphTraversal extends Traversal {
770
879
  this.bytecode.addStep('match', args);
771
880
  return this;
772
881
  }
773
-
882
+
774
883
  /**
775
884
  * Graph traversal math method.
776
885
  * @param {...Object} args
@@ -780,7 +889,7 @@ class GraphTraversal extends Traversal {
780
889
  this.bytecode.addStep('math', args);
781
890
  return this;
782
891
  }
783
-
892
+
784
893
  /**
785
894
  * Graph traversal max method.
786
895
  * @param {...Object} args
@@ -790,7 +899,7 @@ class GraphTraversal extends Traversal {
790
899
  this.bytecode.addStep('max', args);
791
900
  return this;
792
901
  }
793
-
902
+
794
903
  /**
795
904
  * Graph traversal mean method.
796
905
  * @param {...Object} args
@@ -800,7 +909,27 @@ class GraphTraversal extends Traversal {
800
909
  this.bytecode.addStep('mean', args);
801
910
  return this;
802
911
  }
803
-
912
+
913
+ /**
914
+ * Graph traversal mergeE method.
915
+ * @param {...Object} args
916
+ * @returns {GraphTraversal}
917
+ */
918
+ mergeE(...args) {
919
+ this.bytecode.addStep('mergeE', args);
920
+ return this;
921
+ }
922
+
923
+ /**
924
+ * Graph traversal mergeV method.
925
+ * @param {...Object} args
926
+ * @returns {GraphTraversal}
927
+ */
928
+ mergeV(...args) {
929
+ this.bytecode.addStep('mergeV', args);
930
+ return this;
931
+ }
932
+
804
933
  /**
805
934
  * Graph traversal min method.
806
935
  * @param {...Object} args
@@ -810,7 +939,7 @@ class GraphTraversal extends Traversal {
810
939
  this.bytecode.addStep('min', args);
811
940
  return this;
812
941
  }
813
-
942
+
814
943
  /**
815
944
  * Graph traversal none method.
816
945
  * @param {...Object} args
@@ -820,7 +949,7 @@ class GraphTraversal extends Traversal {
820
949
  this.bytecode.addStep('none', args);
821
950
  return this;
822
951
  }
823
-
952
+
824
953
  /**
825
954
  * Graph traversal not method.
826
955
  * @param {...Object} args
@@ -830,7 +959,7 @@ class GraphTraversal extends Traversal {
830
959
  this.bytecode.addStep('not', args);
831
960
  return this;
832
961
  }
833
-
962
+
834
963
  /**
835
964
  * Graph traversal option method.
836
965
  * @param {...Object} args
@@ -840,7 +969,7 @@ class GraphTraversal extends Traversal {
840
969
  this.bytecode.addStep('option', args);
841
970
  return this;
842
971
  }
843
-
972
+
844
973
  /**
845
974
  * Graph traversal optional method.
846
975
  * @param {...Object} args
@@ -850,7 +979,7 @@ class GraphTraversal extends Traversal {
850
979
  this.bytecode.addStep('optional', args);
851
980
  return this;
852
981
  }
853
-
982
+
854
983
  /**
855
984
  * Graph traversal or method.
856
985
  * @param {...Object} args
@@ -860,7 +989,7 @@ class GraphTraversal extends Traversal {
860
989
  this.bytecode.addStep('or', args);
861
990
  return this;
862
991
  }
863
-
992
+
864
993
  /**
865
994
  * Graph traversal order method.
866
995
  * @param {...Object} args
@@ -870,7 +999,7 @@ class GraphTraversal extends Traversal {
870
999
  this.bytecode.addStep('order', args);
871
1000
  return this;
872
1001
  }
873
-
1002
+
874
1003
  /**
875
1004
  * Graph traversal otherV method.
876
1005
  * @param {...Object} args
@@ -880,7 +1009,7 @@ class GraphTraversal extends Traversal {
880
1009
  this.bytecode.addStep('otherV', args);
881
1010
  return this;
882
1011
  }
883
-
1012
+
884
1013
  /**
885
1014
  * Graph traversal out method.
886
1015
  * @param {...Object} args
@@ -890,7 +1019,7 @@ class GraphTraversal extends Traversal {
890
1019
  this.bytecode.addStep('out', args);
891
1020
  return this;
892
1021
  }
893
-
1022
+
894
1023
  /**
895
1024
  * Graph traversal outE method.
896
1025
  * @param {...Object} args
@@ -900,7 +1029,7 @@ class GraphTraversal extends Traversal {
900
1029
  this.bytecode.addStep('outE', args);
901
1030
  return this;
902
1031
  }
903
-
1032
+
904
1033
  /**
905
1034
  * Graph traversal outV method.
906
1035
  * @param {...Object} args
@@ -910,7 +1039,7 @@ class GraphTraversal extends Traversal {
910
1039
  this.bytecode.addStep('outV', args);
911
1040
  return this;
912
1041
  }
913
-
1042
+
914
1043
  /**
915
1044
  * Graph traversal pageRank method.
916
1045
  * @param {...Object} args
@@ -920,7 +1049,7 @@ class GraphTraversal extends Traversal {
920
1049
  this.bytecode.addStep('pageRank', args);
921
1050
  return this;
922
1051
  }
923
-
1052
+
924
1053
  /**
925
1054
  * Graph traversal path method.
926
1055
  * @param {...Object} args
@@ -930,7 +1059,7 @@ class GraphTraversal extends Traversal {
930
1059
  this.bytecode.addStep('path', args);
931
1060
  return this;
932
1061
  }
933
-
1062
+
934
1063
  /**
935
1064
  * Graph traversal peerPressure method.
936
1065
  * @param {...Object} args
@@ -940,7 +1069,7 @@ class GraphTraversal extends Traversal {
940
1069
  this.bytecode.addStep('peerPressure', args);
941
1070
  return this;
942
1071
  }
943
-
1072
+
944
1073
  /**
945
1074
  * Graph traversal profile method.
946
1075
  * @param {...Object} args
@@ -950,7 +1079,7 @@ class GraphTraversal extends Traversal {
950
1079
  this.bytecode.addStep('profile', args);
951
1080
  return this;
952
1081
  }
953
-
1082
+
954
1083
  /**
955
1084
  * Graph traversal program method.
956
1085
  * @param {...Object} args
@@ -960,7 +1089,7 @@ class GraphTraversal extends Traversal {
960
1089
  this.bytecode.addStep('program', args);
961
1090
  return this;
962
1091
  }
963
-
1092
+
964
1093
  /**
965
1094
  * Graph traversal project method.
966
1095
  * @param {...Object} args
@@ -970,7 +1099,7 @@ class GraphTraversal extends Traversal {
970
1099
  this.bytecode.addStep('project', args);
971
1100
  return this;
972
1101
  }
973
-
1102
+
974
1103
  /**
975
1104
  * Graph traversal properties method.
976
1105
  * @param {...Object} args
@@ -980,7 +1109,7 @@ class GraphTraversal extends Traversal {
980
1109
  this.bytecode.addStep('properties', args);
981
1110
  return this;
982
1111
  }
983
-
1112
+
984
1113
  /**
985
1114
  * Graph traversal property method.
986
1115
  * @param {...Object} args
@@ -990,7 +1119,7 @@ class GraphTraversal extends Traversal {
990
1119
  this.bytecode.addStep('property', args);
991
1120
  return this;
992
1121
  }
993
-
1122
+
994
1123
  /**
995
1124
  * Graph traversal propertyMap method.
996
1125
  * @param {...Object} args
@@ -1000,7 +1129,7 @@ class GraphTraversal extends Traversal {
1000
1129
  this.bytecode.addStep('propertyMap', args);
1001
1130
  return this;
1002
1131
  }
1003
-
1132
+
1004
1133
  /**
1005
1134
  * Graph traversal range method.
1006
1135
  * @param {...Object} args
@@ -1010,7 +1139,7 @@ class GraphTraversal extends Traversal {
1010
1139
  this.bytecode.addStep('range', args);
1011
1140
  return this;
1012
1141
  }
1013
-
1142
+
1014
1143
  /**
1015
1144
  * Graph traversal read method.
1016
1145
  * @param {...Object} args
@@ -1020,7 +1149,7 @@ class GraphTraversal extends Traversal {
1020
1149
  this.bytecode.addStep('read', args);
1021
1150
  return this;
1022
1151
  }
1023
-
1152
+
1024
1153
  /**
1025
1154
  * Graph traversal repeat method.
1026
1155
  * @param {...Object} args
@@ -1030,7 +1159,7 @@ class GraphTraversal extends Traversal {
1030
1159
  this.bytecode.addStep('repeat', args);
1031
1160
  return this;
1032
1161
  }
1033
-
1162
+
1034
1163
  /**
1035
1164
  * Graph traversal sack method.
1036
1165
  * @param {...Object} args
@@ -1040,7 +1169,7 @@ class GraphTraversal extends Traversal {
1040
1169
  this.bytecode.addStep('sack', args);
1041
1170
  return this;
1042
1171
  }
1043
-
1172
+
1044
1173
  /**
1045
1174
  * Graph traversal sample method.
1046
1175
  * @param {...Object} args
@@ -1050,7 +1179,7 @@ class GraphTraversal extends Traversal {
1050
1179
  this.bytecode.addStep('sample', args);
1051
1180
  return this;
1052
1181
  }
1053
-
1182
+
1054
1183
  /**
1055
1184
  * Graph traversal select method.
1056
1185
  * @param {...Object} args
@@ -1060,7 +1189,7 @@ class GraphTraversal extends Traversal {
1060
1189
  this.bytecode.addStep('select', args);
1061
1190
  return this;
1062
1191
  }
1063
-
1192
+
1064
1193
  /**
1065
1194
  * Graph traversal shortestPath method.
1066
1195
  * @param {...Object} args
@@ -1070,7 +1199,7 @@ class GraphTraversal extends Traversal {
1070
1199
  this.bytecode.addStep('shortestPath', args);
1071
1200
  return this;
1072
1201
  }
1073
-
1202
+
1074
1203
  /**
1075
1204
  * Graph traversal sideEffect method.
1076
1205
  * @param {...Object} args
@@ -1080,7 +1209,7 @@ class GraphTraversal extends Traversal {
1080
1209
  this.bytecode.addStep('sideEffect', args);
1081
1210
  return this;
1082
1211
  }
1083
-
1212
+
1084
1213
  /**
1085
1214
  * Graph traversal simplePath method.
1086
1215
  * @param {...Object} args
@@ -1090,7 +1219,7 @@ class GraphTraversal extends Traversal {
1090
1219
  this.bytecode.addStep('simplePath', args);
1091
1220
  return this;
1092
1221
  }
1093
-
1222
+
1094
1223
  /**
1095
1224
  * Graph traversal skip method.
1096
1225
  * @param {...Object} args
@@ -1100,7 +1229,7 @@ class GraphTraversal extends Traversal {
1100
1229
  this.bytecode.addStep('skip', args);
1101
1230
  return this;
1102
1231
  }
1103
-
1232
+
1104
1233
  /**
1105
1234
  * Graph traversal store method.
1106
1235
  * @param {...Object} args
@@ -1110,7 +1239,7 @@ class GraphTraversal extends Traversal {
1110
1239
  this.bytecode.addStep('store', args);
1111
1240
  return this;
1112
1241
  }
1113
-
1242
+
1114
1243
  /**
1115
1244
  * Graph traversal subgraph method.
1116
1245
  * @param {...Object} args
@@ -1120,7 +1249,7 @@ class GraphTraversal extends Traversal {
1120
1249
  this.bytecode.addStep('subgraph', args);
1121
1250
  return this;
1122
1251
  }
1123
-
1252
+
1124
1253
  /**
1125
1254
  * Graph traversal sum method.
1126
1255
  * @param {...Object} args
@@ -1130,7 +1259,7 @@ class GraphTraversal extends Traversal {
1130
1259
  this.bytecode.addStep('sum', args);
1131
1260
  return this;
1132
1261
  }
1133
-
1262
+
1134
1263
  /**
1135
1264
  * Graph traversal tail method.
1136
1265
  * @param {...Object} args
@@ -1140,7 +1269,7 @@ class GraphTraversal extends Traversal {
1140
1269
  this.bytecode.addStep('tail', args);
1141
1270
  return this;
1142
1271
  }
1143
-
1272
+
1144
1273
  /**
1145
1274
  * Graph traversal timeLimit method.
1146
1275
  * @param {...Object} args
@@ -1150,7 +1279,7 @@ class GraphTraversal extends Traversal {
1150
1279
  this.bytecode.addStep('timeLimit', args);
1151
1280
  return this;
1152
1281
  }
1153
-
1282
+
1154
1283
  /**
1155
1284
  * Graph traversal times method.
1156
1285
  * @param {...Object} args
@@ -1160,7 +1289,7 @@ class GraphTraversal extends Traversal {
1160
1289
  this.bytecode.addStep('times', args);
1161
1290
  return this;
1162
1291
  }
1163
-
1292
+
1164
1293
  /**
1165
1294
  * Graph traversal to method.
1166
1295
  * @param {...Object} args
@@ -1170,7 +1299,7 @@ class GraphTraversal extends Traversal {
1170
1299
  this.bytecode.addStep('to', args);
1171
1300
  return this;
1172
1301
  }
1173
-
1302
+
1174
1303
  /**
1175
1304
  * Graph traversal toE method.
1176
1305
  * @param {...Object} args
@@ -1180,7 +1309,7 @@ class GraphTraversal extends Traversal {
1180
1309
  this.bytecode.addStep('toE', args);
1181
1310
  return this;
1182
1311
  }
1183
-
1312
+
1184
1313
  /**
1185
1314
  * Graph traversal toV method.
1186
1315
  * @param {...Object} args
@@ -1190,7 +1319,7 @@ class GraphTraversal extends Traversal {
1190
1319
  this.bytecode.addStep('toV', args);
1191
1320
  return this;
1192
1321
  }
1193
-
1322
+
1194
1323
  /**
1195
1324
  * Graph traversal tree method.
1196
1325
  * @param {...Object} args
@@ -1200,7 +1329,7 @@ class GraphTraversal extends Traversal {
1200
1329
  this.bytecode.addStep('tree', args);
1201
1330
  return this;
1202
1331
  }
1203
-
1332
+
1204
1333
  /**
1205
1334
  * Graph traversal unfold method.
1206
1335
  * @param {...Object} args
@@ -1210,7 +1339,7 @@ class GraphTraversal extends Traversal {
1210
1339
  this.bytecode.addStep('unfold', args);
1211
1340
  return this;
1212
1341
  }
1213
-
1342
+
1214
1343
  /**
1215
1344
  * Graph traversal union method.
1216
1345
  * @param {...Object} args
@@ -1220,7 +1349,7 @@ class GraphTraversal extends Traversal {
1220
1349
  this.bytecode.addStep('union', args);
1221
1350
  return this;
1222
1351
  }
1223
-
1352
+
1224
1353
  /**
1225
1354
  * Graph traversal until method.
1226
1355
  * @param {...Object} args
@@ -1230,7 +1359,7 @@ class GraphTraversal extends Traversal {
1230
1359
  this.bytecode.addStep('until', args);
1231
1360
  return this;
1232
1361
  }
1233
-
1362
+
1234
1363
  /**
1235
1364
  * Graph traversal value method.
1236
1365
  * @param {...Object} args
@@ -1240,7 +1369,7 @@ class GraphTraversal extends Traversal {
1240
1369
  this.bytecode.addStep('value', args);
1241
1370
  return this;
1242
1371
  }
1243
-
1372
+
1244
1373
  /**
1245
1374
  * Graph traversal valueMap method.
1246
1375
  * @param {...Object} args
@@ -1250,7 +1379,7 @@ class GraphTraversal extends Traversal {
1250
1379
  this.bytecode.addStep('valueMap', args);
1251
1380
  return this;
1252
1381
  }
1253
-
1382
+
1254
1383
  /**
1255
1384
  * Graph traversal values method.
1256
1385
  * @param {...Object} args
@@ -1260,7 +1389,7 @@ class GraphTraversal extends Traversal {
1260
1389
  this.bytecode.addStep('values', args);
1261
1390
  return this;
1262
1391
  }
1263
-
1392
+
1264
1393
  /**
1265
1394
  * Graph traversal where method.
1266
1395
  * @param {...Object} args
@@ -1270,7 +1399,7 @@ class GraphTraversal extends Traversal {
1270
1399
  this.bytecode.addStep('where', args);
1271
1400
  return this;
1272
1401
  }
1273
-
1402
+
1274
1403
  /**
1275
1404
  * Graph traversal with method.
1276
1405
  * @param {...Object} args
@@ -1280,7 +1409,7 @@ class GraphTraversal extends Traversal {
1280
1409
  this.bytecode.addStep('with', args);
1281
1410
  return this;
1282
1411
  }
1283
-
1412
+
1284
1413
  /**
1285
1414
  * Graph traversal write method.
1286
1415
  * @param {...Object} args
@@ -1290,7 +1419,6 @@ class GraphTraversal extends Traversal {
1290
1419
  this.bytecode.addStep('write', args);
1291
1420
  return this;
1292
1421
  }
1293
-
1294
1422
  }
1295
1423
 
1296
1424
  function callOnEmptyTraversal(fnName, args) {
@@ -1314,6 +1442,7 @@ const statics = {
1314
1442
  bothE: (...args) => callOnEmptyTraversal('bothE', args),
1315
1443
  bothV: (...args) => callOnEmptyTraversal('bothV', args),
1316
1444
  branch: (...args) => callOnEmptyTraversal('branch', args),
1445
+ call: (...args) => callOnEmptyTraversal('call', args),
1317
1446
  cap: (...args) => callOnEmptyTraversal('cap', args),
1318
1447
  choose: (...args) => callOnEmptyTraversal('choose', args),
1319
1448
  coalesce: (...args) => callOnEmptyTraversal('coalesce', args),
@@ -1323,8 +1452,10 @@ const statics = {
1323
1452
  cyclicPath: (...args) => callOnEmptyTraversal('cyclicPath', args),
1324
1453
  dedup: (...args) => callOnEmptyTraversal('dedup', args),
1325
1454
  drop: (...args) => callOnEmptyTraversal('drop', args),
1455
+ element: (...args) => callOnEmptyTraversal('element', args),
1326
1456
  elementMap: (...args) => callOnEmptyTraversal('elementMap', args),
1327
1457
  emit: (...args) => callOnEmptyTraversal('emit', args),
1458
+ fail: (...args) => callOnEmptyTraversal('fail', args),
1328
1459
  filter: (...args) => callOnEmptyTraversal('filter', args),
1329
1460
  flatMap: (...args) => callOnEmptyTraversal('flatMap', args),
1330
1461
  fold: (...args) => callOnEmptyTraversal('fold', args),
@@ -1354,6 +1485,8 @@ const statics = {
1354
1485
  math: (...args) => callOnEmptyTraversal('math', args),
1355
1486
  max: (...args) => callOnEmptyTraversal('max', args),
1356
1487
  mean: (...args) => callOnEmptyTraversal('mean', args),
1488
+ mergeE: (...args) => callOnEmptyTraversal('mergeE', args),
1489
+ mergeV: (...args) => callOnEmptyTraversal('mergeV', args),
1357
1490
  min: (...args) => callOnEmptyTraversal('min', args),
1358
1491
  not: (...args) => callOnEmptyTraversal('not', args),
1359
1492
  optional: (...args) => callOnEmptyTraversal('optional', args),
@@ -1392,11 +1525,11 @@ const statics = {
1392
1525
  value: (...args) => callOnEmptyTraversal('value', args),
1393
1526
  valueMap: (...args) => callOnEmptyTraversal('valueMap', args),
1394
1527
  values: (...args) => callOnEmptyTraversal('values', args),
1395
- where: (...args) => callOnEmptyTraversal('where', args)
1528
+ where: (...args) => callOnEmptyTraversal('where', args),
1396
1529
  };
1397
1530
 
1398
1531
  module.exports = {
1399
1532
  GraphTraversal,
1400
1533
  GraphTraversalSource,
1401
- statics
1402
- };
1534
+ statics,
1535
+ };