Exemplo n.º 1
0
            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) =>