Example #1
0
        public override IEnumerable <BulkString> Request(BulkStringFactory factory)
        {
            yield return(name);

            yield return(key.ToBulkString(factory));

            foreach (var argument in by.Arguments(factory))
            {
                yield return(argument);
            }

            if (limit is { } value)
            {
                yield return(limitArgument);

                yield return(factory.Create(value.Offset));

                yield return(factory.Create(value.Count));
            }

            foreach (var argument in select.Arguments(factory))
            {
                yield return(argument);
            }

            if (order == Order.Descending)
            {
                yield return(descendingArgument);
            }

            if (mode == Mode.Alphabetical)
            {
                yield return(alphabeticalArgument);
            }
        }