static StringBuiltinFunctions()

in Microsoft.Azure.Cosmos/src/Linq/BuiltinFunctions/StringBuiltinFunctions.cs [513:631]


        static StringBuiltinFunctions()
        {
            StringBuiltinFunctionDefinitions = new Dictionary<string, BuiltinFunctionVisitor>
            {
                {
                    "Concat",
                    new StringVisitConcat()
                },
                {
                    "Contains",
                    new StringVisitContains()
                },
                {
                    "EndsWith",
                    new SqlStringWithComparisonVisitor(SqlFunctionCallScalarExpression.Names.Endswith)
                },
                {
                    "IndexOf",
                    new SqlBuiltinFunctionVisitor(SqlFunctionCallScalarExpression.Names.IndexOf,
                    false,
                    new List<Type[]>()
                    {
                        new Type[]{typeof(char)},
                        new Type[]{typeof(string)},
                        new Type[]{typeof(char), typeof(int)},
                        new Type[]{typeof(string), typeof(int)},
                    })
                },
                {
                    "Count",
                    new StringVisitCount()
                },
                {
                    "ToLower",
                    new SqlBuiltinFunctionVisitor(SqlFunctionCallScalarExpression.Names.Lower,
                    false,
                    new List<Type[]>()
                    {
                        new Type[]{}
                    })
                },
                {
                    "TrimStart",
                    new StringVisitTrimStart()
                },
                {
                    nameof(CosmosLinqExtensions.RegexMatch),
                    new RegexMatchVisitor()
                },
                {
                    "Replace",
                    new SqlBuiltinFunctionVisitor(SqlFunctionCallScalarExpression.Names.Replace,
                    false,
                    new List<Type[]>()
                    {
                        new Type[]{typeof(char), typeof(char)},
                        new Type[]{typeof(string), typeof(string)}
                    })
                },
                {
                    "Reverse",
                    new StringVisitReverse()
                },
                {
                    "ToString",
                    new StringVisitToString()
                },
                {
                    "TrimEnd",
                    new StringVisitTrimEnd()
                },
                {
                    "Trim",
                    new StringVisitTrim()
                },
                {
                    "StartsWith",
                    new SqlStringWithComparisonVisitor(SqlFunctionCallScalarExpression.Names.Startswith)
                },
                {
                    "Substring",
                    new SqlBuiltinFunctionVisitor(SqlFunctionCallScalarExpression.Names.Substring,
                    false,
                    new List<Type[]>()
                    {
                        new Type[]{typeof(int), typeof(int)}
                    })
                },
                {
                    "ToUpper",
                    new SqlBuiltinFunctionVisitor(SqlFunctionCallScalarExpression.Names.Upper,
                    false,
                    new List<Type[]>()
                    {
                        new Type[]{}
                    })
                },
                {
                    "get_Chars",
                    new StringGetCharsVisitor()
                },
                {
                    "Equals",
                    new StringEqualsVisitor()
                },
                {
                    nameof(CosmosLinqExtensions.FullTextContains),
                    new FullTextContainsVisit()
                },
                {
                    nameof(CosmosLinqExtensions.FullTextContainsAll),
                    new FullTextContainsAllVisit()
                },
                {
                    nameof(CosmosLinqExtensions.FullTextContainsAny),
                    new FullTextContainsAnyVisit()
                }
            };
        }