コード例 #1
0
ファイル: OptionalNode.cs プロジェクト: cloudtoid/url-pattern
        internal OptionalNode(PatternNode node)
        {
            CheckValue(node, nameof(node));

            Node = node is OptionalNode optionalNode
                ? optionalNode.Node
                : node;
        }
コード例 #2
0
        private Regex BuildCore(PatternNode pattern, bool exactMatch)
        {
            Visit(pattern);

            if (exactMatch)
            {
                builder.AppendDollar();
            }

            return(RegexFactory.Create(builder.ToString()));
        }
コード例 #3
0
 private ISet <string> ExtractCore(PatternNode node)
 {
     Visit(node);
     return(names);
 }
コード例 #4
0
 internal static ISet <string> Extract(PatternNode node)
 => new VariableNamesExtractor().ExtractCore(node);
コード例 #5
0
 internal static Regex Build(PatternNode pattern, bool exactMatch)
 => new PatternRegexBuilder().BuildCore(pattern, exactMatch);