public GremlinQuerySerializerImpl(IGremlinQueryFragmentSerializer fragmentSerializer) { _originalfragmentSerializer = fragmentSerializer; _fragmentSerializer = fragmentSerializer .Override <StepLabel>((stepLabel, env, @base, recurse) => { if (!_stepLabelNames !.TryGetValue(stepLabel, out var stepLabelMapping)) { stepLabelMapping = _stepLabelNames.Count < StepLabelNames.Length ? StepLabelNames[_stepLabelNames.Count] : "l" + (_stepLabelNames.Count + 1); _stepLabelNames.Add(stepLabel, stepLabelMapping); } // ReSharper disable once TailRecursiveCall return(recurse.Serialize(stepLabelMapping !, env)); }); }
public GremlinQuerySerializerImpl(IGremlinQueryFragmentSerializer fragmentSerializer) { _originalFragmentSerializer = fragmentSerializer; _fragmentSerializer = fragmentSerializer .Override <StepLabel>(static (stepLabel, env, _, recurse) =>