| Index: pkg/yaml/lib/src/yaml_document.dart
|
| diff --git a/pkg/yaml/lib/src/yaml_document.dart b/pkg/yaml/lib/src/yaml_document.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4c249a0c1fa8827eae57e3cb81fc978b98204550
|
| --- /dev/null
|
| +++ b/pkg/yaml/lib/src/yaml_document.dart
|
| @@ -0,0 +1,67 @@
|
| +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +library yaml.yaml_document;
|
| +
|
| +import 'dart:collection';
|
| +
|
| +import 'package:source_span/source_span.dart';
|
| +
|
| +import 'yaml_node.dart';
|
| +
|
| +/// A YAML document, complete with metadata.
|
| +class YamlDocument {
|
| + /// The contents of the document.
|
| + final YamlNode contents;
|
| +
|
| + /// The span covering the entire document.
|
| + final SourceSpan span;
|
| +
|
| + /// The version directive for the document, if any.
|
| + final VersionDirective versionDirective;
|
| +
|
| + /// The tag directives for the document.
|
| + final List<TagDirective> tagDirectives;
|
| +
|
| + /// Whether the beginning of the document was implicit (versus explicit via
|
| + /// `===`).
|
| + final bool startImplicit;
|
| +
|
| + /// Whether the end of the document was implicit (versus explicit via `...`).
|
| + final bool endImplicit;
|
| +
|
| + /// Users of the library should not use this constructor.
|
| + YamlDocument.internal(this.contents, this.span, this.versionDirective,
|
| + List<TagDirective> tagDirectives, {this.startImplicit: false,
|
| + this.endImplicit: false})
|
| + : tagDirectives = new UnmodifiableListView(tagDirectives);
|
| +
|
| + String toString() => contents.toString();
|
| +}
|
| +
|
| +/// A directive indicating which version of YAML a document was written to.
|
| +class VersionDirective {
|
| + /// The major version number.
|
| + final int major;
|
| +
|
| + /// The minor version number.
|
| + final int minor;
|
| +
|
| + VersionDirective(this.major, this.minor);
|
| +
|
| + String toString() => "%YAML $major.$minor";
|
| +}
|
| +
|
| +/// A directive describing a custom tag handle.
|
| +class TagDirective {
|
| + /// The handle for use in the document.
|
| + final String handle;
|
| +
|
| + /// The prefix that the handle maps to.
|
| + final String prefix;
|
| +
|
| + TagDirective(this.handle, this.prefix);
|
| +
|
| + String toString() => "%TAG $handle $prefix";
|
| +}
|
|
|