private int[] ParseWarnings(YamlParser parser, YamlNode value) { var seq = value as YamlSequenceNode; if (seq != null) { return(parser.EnumerateNodesOf(seq).OfType <YamlScalarNode>().Select(childValue => Int32.Parse(childValue.Value)).ToArray()); } else { return(new int[0]); } }
private string[] ParseDefines(YamlParser parser, YamlNode value) { var seq = value as YamlSequenceNode; if (seq != null) { return(parser.EnumerateNodesOf(seq).OfType <YamlScalarNode>().Select(childValue => childValue.Value).ToArray()); } else { return(new string[0]); } }
public void EnumerateNodesOfSimpleMapping() { var doc = Load(@"--- first: 1 second: 2 third: 3 "); var nodes = parser.EnumerateNodesOf((YamlMappingNode)doc.RootNode); nodes.Should().NotBeNull().And.HaveCount(3); nodes.Should().Contain(new[] { NodePair(Scalar("first"), Scalar("1")), NodePair(Scalar("second"), Scalar("2")), NodePair(Scalar("third"), Scalar("3")), }); }
/// <summary> /// Loads the YAML block /// </summary> /// <param name="name">Name of the block (same that was passed to <see cref="IYamlProjectParametersLoader.Supports"/>)</param> /// <param name="value">The YAML node representing the value</param> /// <param name="parser">The YAML parser to be used</param> /// <returns>Returns the loaded node</returns> public override IProjectParameters Load(Suite suite, string name, YamlNode value, YamlParser parser) { Suite = suite; var target = CreateNewParameters(suite); var seq = value as YamlSequenceNode; if (seq != null) { foreach (var node in parser.EnumerateNodesOf(seq).OfType <YamlScalarNode>()) { target.AddPattern(new RepositoryPattern(ParseString(node))); } } return(target); }
private IDictionary <string, string> ParseMergeSections(YamlNode value, YamlParser parser) { var result = new Dictionary <string, string>(); var mapping = value as YamlMappingNode; if (mapping != null) { foreach (var pair in parser.EnumerateNodesOf(mapping)) { var scalarKey = pair.Key as YamlScalarNode; var scalarValue = pair.Value as YamlScalarNode; if (scalarKey != null && scalarValue != null) { result.Add(scalarKey.Value, scalarValue.Value); } } } return(result); }