Loading a YamlDocument topic
A single YAML source string is considered a YAML document. The presence/absence of directives determines what type of document it is.
Bare Documents
Clean YamlDocument with no directives.
  const yaml = '''
# Okay if empty
...
Wow! Nice! This looks clean
...
''';
final docs = loadAllDocuments(source: yaml);
print(docs.length); // 2
// True
print(
  docs.every(
    (doc) =>
        doc.hasExplicitEnd &&
        !doc.hasExplicitStart &&
        doc.docType == YamlDocType.bare,
  ),
);
Explicit Documents
Documents with  directive end markers (---) and optionally document end markers (...). Why optionally? The directive end markers signify the start of a document.
  const yaml = '''
--- # Ends after the next comment
    # LFG
...
---
"This one has a double quoted scalar, but no doc end"
---
status: Started immediately the marker was seen.
''';
final docs = loadAllDocuments(source: yaml);
print(docs.length); // 3
// True
print(
  docs.every(
    (doc) => doc.hasExplicitStart && doc.docType == YamlDocType.explicit,
  ),
);
Directive Documents
Documents with directives. The directives must always end with marker (---) even if the document is empty!
  const yaml = '''
%YAML 1.1
%SUPPORT on that version is limited
%TAG !for-real! !yah-for-real
---
"You can just do this things. Do them with version 1.2+ features"
''';
final doc = loadAllDocuments(source: yaml).first;
// True
print(
  doc.hasExplicitStart &&
      doc.docType == YamlDocType.directiveDoc &&
      doc.tagDirectives.isNotEmpty &&
      doc.otherDirectives.isNotEmpty &&
      doc.versionDirective == YamlDirective.ofVersion('1.1'),
);
Classes
- Directive Loading a YamlDocument
- 
  A valid YAMLdirective
- 
  GlobalTag<T> Loading a YamlDocument
- 
  Describes a tag shorthand notation for specifying node tags. It must begin
with the %TAGdirective.
- ReservedDirective Loading a YamlDocument
- 
  Represents any unknown directive which YAML, by default, reserves for future use. Typically any that is not a YamlDirective or a GlobalTag.
- YamlComment Loading a YamlDocument
- A comment parsed in a document
- YamlDirective Loading a YamlDocument
- 
  Specifies the version a YAMLdocument conforms to.
- YamlDocument Loading a YamlDocument Dumping YAML Documents
- 
  A document representing the entire YAMLstring or a single scalar/collection node within a group of documents inYAML.
Properties
- parserVersion → YamlDirective Loading a YamlDocument
- 
  YAMLversion that is used to implement the currentYamlParserversion.final
Functions
- 
  loadAllDocuments({String? source, Iterable< Loading a YamlDocumentint> ? byteSource, bool throwOnMapDuplicate = false, List<Resolver> ? resolvers, void logger(bool isInfo, String message)?}) → List<YamlDocument> 
- Loads every document. Each document's root node will always be a YamlSourceNode.
Enums
- DocumentMarker Loading a YamlDocument
- YamlDocType Loading a YamlDocument
- 
  Represents the type of YAML document based on the use of directives,
directives end marker (---) and document end marker (...)