[ https://issues.apache.org/jira/browse/TINKERPOP-3055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17946878#comment-17946878 ]
ASF GitHub Bot commented on TINKERPOP-3055: ------------------------------------------- andreachild commented on code in PR #3099: URL: https://github.com/apache/tinkerpop/pull/3099#discussion_r2056964839 ########## docs/src/reference/gremlin-variants.asciidoc: ########## @@ -1396,6 +1396,29 @@ can be passed in the constructor of a new `Client` or `DriverRemoteConnection` : |options.pongTimeout |Number |Timeout of pong response in ms after sending a ping. |30000 |========================================================= +[[gremlin-javascript-strategies]] +=== Traversal Strategies + +In order to add and remove <<traversalstrategy,traversal strategies>> from a traversal source, Gremlin-Javascript has a +`TraversalStrategy` class along with a collection of subclasses that mirror the standard Gremlin-Java strategies. + +[source,javascript] +---- +// use the class name for the strategy directly for withoutStrategies() +g.withoutStrategies(InlineFilterStrategy); Review Comment: For consistency with `withStrategies` would it be better to also require an instance for `withoutStrategies` but then downstream propagate just the class name of the provided instance? > withoutStrategies() mechanism in programming languages for providers > -------------------------------------------------------------------- > > Key: TINKERPOP-3055 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3055 > Project: TinkerPop > Issue Type: Improvement > Components: dotnet, go, javascript, process, python > Affects Versions: 3.7.1 > Reporter: Stephen Mallette > Priority: Major > > {{withoutStrategies()}} is in the grammar for TINKERPOP-2862. That change did > not address its accessibility for provider strategies in language variants > very well. As the syntax requires a {{Class}} (and for the grammar, a > registered strategy class) you may not have that reference in a language > variant. Users could create dummy classes as the grammar works on simple > name, but that's not especially nice. Otoh, most users shouldn't be tinkering > with strategies so perhaps that's ok? It could be inconvenient for notebook > users and similar tools though to create the dummy. A simple alternative > could just be a {{withoutStrategies(String...)}} but that's not particularly > nice. Other ideas? > needs a general look at all strategy construction across all languages: > 1. check if the strategy construction makes sense in terms of types and > syntax in each language > 2. watch out for wrong types being parsed into {{Configuration}} which can > lead to weird looking errors. > 3. are there adequate tests to validate all our syntax is working. we > technically need to test every strategy configuration options as those > corners are where bugs can hide. > 4. double check {{List}} vs {{Set}} syntax because {{Set}} might be preferred > but a lot of folks will reach for {{[ ]}} just out of habit....do we want > them failing for that? can we ease the type there without losing {{Set}} in > type safe languages? -- This message was sent by Atlassian Jira (v8.20.10#820010)