in src/PSDocs/Common/YamlConverters.cs [171:200]
private PSNoteProperty ReadNoteProperty(IParser parser, string name)
{
if (parser.TryConsume<SequenceStart>(out _))
{
var values = new List<PSObject>();
while (!(parser.Current is SequenceEnd))
{
if (parser.Current is MappingStart)
{
values.Add(PSObject.AsPSObject(ReadYaml(parser, typeof(PSObject))));
}
else if (parser.TryConsume(out Scalar scalar))
{
values.Add(PSObject.AsPSObject(scalar.Value));
}
}
parser.Require<SequenceEnd>();
parser.MoveNext();
return new PSNoteProperty(name, values.ToArray());
}
else if (parser.Current is MappingStart)
{
return new PSNoteProperty(name, ReadYaml(parser, typeof(PSObject)));
}
else if (parser.TryConsume(out Scalar scalar))
{
return new PSNoteProperty(name, scalar.Value);
}
return null;
}