235 lines
9.7 KiB
HTML
235 lines
9.7 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
|
"http://www.w3.org/TR/html4/strict.dtd">
|
|
|
|
<html lang='en'>
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" >
|
|
<title>dyaml.dumper - D:YAML 0.5 API documentation</title>
|
|
<link rel="stylesheet" type="text/css" href="css/style.css">
|
|
</head>
|
|
|
|
<body><div id="top">
|
|
<div id="header">
|
|
<img id="logo" alt="D:YAML logo" src="images/logo.png"><a id="main-heading" href="index.html">D:YAML 0.5 API documentation</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="navigation">
|
|
<div class="navblock">
|
|
<div id="toctop">
|
|
<ul><li><a href="../index.html">Documentation home</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="navblock">
|
|
<ul><li><a href="index.html">Main page</a></li>
|
|
<li><a href="dyaml.constructor.html">dyaml.constructor</a></li>
|
|
<li><a href="dyaml.dumper.html">dyaml.dumper</a></li>
|
|
<li><a href="dyaml.exception.html">dyaml.exception</a></li>
|
|
<li><a href="dyaml.hacks.html">dyaml.hacks</a></li>
|
|
<li><a href="dyaml.linebreak.html">dyaml.linebreak</a></li>
|
|
<li><a href="dyaml.loader.html">dyaml.loader</a></li>
|
|
<li><a href="dyaml.node.html">dyaml.node</a></li>
|
|
<li><a href="dyaml.representer.html">dyaml.representer</a></li>
|
|
<li><a href="dyaml.resolver.html">dyaml.resolver</a></li>
|
|
<li><a href="dyaml.style.html">dyaml.style</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="content">
|
|
<h1>dyaml.dumper</h1>
|
|
<!-- Generated by Ddoc from dyaml/dumper.d -->
|
|
<p>YAML dumper.
|
|
</p>
|
|
<p>Code based on <a href="http://www.pyyaml.org">PyYAML</a>.</p>
|
|
|
|
<dl><dt class="d_decl"><a name="Dumper"></a>struct <a name="Dumper"></a><span class="ddoc_psymbol">Dumper</span>;
|
|
</dt>
|
|
<dd><p>Dumps YAML documents to files or streams.
|
|
</p>
|
|
<p>User specified Representer and/or Resolver can be used to support new
|
|
tags / data types.
|
|
<br>
|
|
|
|
Setters are provided to affect output details (style, encoding, etc.).
|
|
|
|
</p>
|
|
<b>Examples:</b><div class="pbr"> Write to a file:
|
|
<pre class="d_code"><span class="d_keyword">auto</span> node = Node([1, 2, 3, 4, 5]);
|
|
<span class="d_psymbol">Dumper</span>(<span class="d_string">"file.yaml"</span>).dump(node);
|
|
</pre>
|
|
<br>
|
|
|
|
Write multiple YAML documents to a file:
|
|
<pre class="d_code"><span class="d_keyword">auto</span> node1 = Node([1, 2, 3, 4, 5]);
|
|
<span class="d_keyword">auto</span> node2 = Node(<span class="d_string">"This document contains only one string"</span>);
|
|
<span class="d_psymbol">Dumper</span>(<span class="d_string">"file.yaml"</span>).dump(node1, node2);
|
|
|
|
<span class="d_comment">//Or with an array:
|
|
</span><span class="d_comment">//Dumper("file.yaml").dump([node1, node2]);
|
|
</span>
|
|
|
|
</pre>
|
|
<br>
|
|
|
|
Write to memory:
|
|
<pre class="d_code"><span class="d_keyword">import</span> std.stream;
|
|
<span class="d_keyword">auto</span> stream = <span class="d_keyword">new</span> MemoryStream();
|
|
<span class="d_keyword">auto</span> node = Node([1, 2, 3, 4, 5]);
|
|
<span class="d_psymbol">Dumper</span>(stream).dump(node);
|
|
</pre>
|
|
<br>
|
|
|
|
Use a custom representer/resolver to support custom data types and/or implicit tags:
|
|
<pre class="d_code"><span class="d_keyword">auto</span> node = Node([1, 2, 3, 4, 5]);
|
|
<span class="d_keyword">auto</span> representer = <span class="d_keyword">new</span> Representer();
|
|
<span class="d_keyword">auto</span> resolver = <span class="d_keyword">new</span> Resolver();
|
|
|
|
<span class="d_comment">//Add representer functions / resolver expressions here...
|
|
</span>
|
|
<span class="d_keyword">auto</span> dumper = <span class="d_psymbol">Dumper</span>(<span class="d_string">"file.yaml"</span>);
|
|
dumper.representer = representer;
|
|
dumper.resolver = resolver;
|
|
dumper.dump(node);
|
|
</pre>
|
|
</div>
|
|
|
|
<dl><dt class="d_decl"><a name="Dumper.this"></a>@trusted this(string <b>filename</b>);
|
|
</dt>
|
|
<dd><p>Construct a Dumper writing to a file.
|
|
</p>
|
|
<b>Parameters:</b><div class="pbr"><table class=parms><tr><td valign=top>string <b>filename</b></td>
|
|
<td valign=top>File name to write to.</td></tr>
|
|
</table></div>
|
|
<b>Throws:</b><div class="pbr">YAMLException if the file can not be dumped to (e.g. cannot be opened).</div>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.this"></a>@safe this(Stream <b>stream</b>);
|
|
</dt>
|
|
<dd><p>Construct a Dumper writing to a stream. This is useful to e.g. write to memory.</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.name"></a>pure nothrow @property @safe void <a name="name"></a><span class="ddoc_psymbol">name</span>(string <a name="name"></a><span class="ddoc_psymbol">name</span>);
|
|
</dt>
|
|
<dd><p>Set stream name. Used in debugging messages.</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.resolver"></a>@property @trusted void <a name="resolver"></a><span class="ddoc_psymbol">resolver</span>(Resolver <a name="resolver"></a><span class="ddoc_psymbol">resolver</span>);
|
|
</dt>
|
|
<dd><p>Specify custom Resolver to use.</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.representer"></a>@property @trusted void <a name="representer"></a><span class="ddoc_psymbol">representer</span>(Representer <a name="representer"></a><span class="ddoc_psymbol">representer</span>);
|
|
</dt>
|
|
<dd><p>Specify custom Representer to use.</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.canonical"></a>pure nothrow @property @safe void <a name="canonical"></a><span class="ddoc_psymbol">canonical</span>(bool <a name="canonical"></a><span class="ddoc_psymbol">canonical</span>);
|
|
</dt>
|
|
<dd><p>Write scalars in canonical form?</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.indent"></a>pure nothrow @property @safe void <a name="indent"></a><span class="ddoc_psymbol">indent</span>(uint <a name="indent"></a><span class="ddoc_psymbol">indent</span>);
|
|
</dt>
|
|
<dd><p>Set indentation width. 2 by default. Must not be zero.</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.textWidth"></a>pure nothrow @property @safe void <a name="textWidth"></a><span class="ddoc_psymbol">textWidth</span>(uint <b>width</b>);
|
|
</dt>
|
|
<dd><p>Set preferred text width.</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.lineBreak"></a>pure nothrow @property @safe void <a name="lineBreak"></a><span class="ddoc_psymbol">lineBreak</span>(LineBreak <a name="lineBreak"></a><span class="ddoc_psymbol">lineBreak</span>);
|
|
</dt>
|
|
<dd><p>Set line break to use. Unix by default.</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.encoding"></a>pure nothrow @property @safe void <a name="encoding"></a><span class="ddoc_psymbol">encoding</span>(Encoding <a name="encoding"></a><span class="ddoc_psymbol">encoding</span>);
|
|
</dt>
|
|
<dd><p>Set character encoding to use. UTF-8 by default.</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.explicitStart"></a>pure nothrow @property @safe void <a name="explicitStart"></a><span class="ddoc_psymbol">explicitStart</span>(bool <b>explicit</b>);
|
|
</dt>
|
|
<dd><p>Always explicitly write document start?</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.explicitEnd"></a>pure nothrow @property @safe void <a name="explicitEnd"></a><span class="ddoc_psymbol">explicitEnd</span>(bool <b>explicit</b>);
|
|
</dt>
|
|
<dd><p>Always explicitly write document end?</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.YAMLVersion"></a>pure nothrow @property @safe void <a name="YAMLVersion"></a><span class="ddoc_psymbol">YAMLVersion</span>(string <a name="YAMLVersion"></a><span class="ddoc_psymbol">YAMLVersion</span>);
|
|
</dt>
|
|
<dd><p>Specify YAML version string. "1.1" by default.</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.tagDirectives"></a>pure @property @trusted void <a name="tagDirectives"></a><span class="ddoc_psymbol">tagDirectives</span>(string[string] <b>tags</b>);
|
|
</dt>
|
|
<dd><p>Specify tag directives.
|
|
</p>
|
|
<p>A tag directive specifies a shorthand notation for specifying tags.
|
|
Each tag directive associates a handle with a prefix. This allows for
|
|
compact tag notation.
|
|
<br>
|
|
|
|
Each handle specified MUST start and end with a '!' character
|
|
(a single character "!" handle is allowed as well).
|
|
<br>
|
|
|
|
Only alphanumeric characters, '-', and '_' may be used in handles.
|
|
<br>
|
|
|
|
Each prefix MUST not be empty.
|
|
<br>
|
|
|
|
The "!!" handle is used for default YAML tags with prefix
|
|
"tag:yaml.org,2002:". This can be overridden.
|
|
|
|
</p>
|
|
<b>Parameters:</b><div class="pbr"><table class=parms><tr><td valign=top>string[string] <b>tags</b></td>
|
|
<td valign=top>Tag directives (keys are handles, values are prefixes).</td></tr>
|
|
</table></div>
|
|
<p><b>Example:</b><br>
|
|
<pre class="d_code">Dumper dumper = Dumper(<span class="d_string">"file.yaml"</span>);
|
|
string[string] directives;
|
|
directives[<span class="d_string">"!short!"</span>] = <span class="d_string">"tag:long.org,2011:"</span>;
|
|
<span class="d_comment">//This will emit tags starting with "tag:long.org,2011"
|
|
</span><span class="d_comment">//with a "!short!" prefix instead.
|
|
</span>dumper.<span class="d_psymbol">tagDirectives</span>(directives);
|
|
dumper.dump(Node(<span class="d_string">"foo"</span>));
|
|
</pre>
|
|
</p>
|
|
|
|
</dd>
|
|
<dt class="d_decl"><a name="Dumper.dump"></a>@trusted void <a name="dump"></a><span class="ddoc_psymbol">dump</span>(Node[] <b>documents</b>...);
|
|
</dt>
|
|
<dd><p>Dump one or more YAML documents to the file/stream.
|
|
</p>
|
|
<p>Note that while you can call <a name="dump"></a><span class="ddoc_psymbol">dump</span>() multiple times on the same
|
|
dumper, you will end up writing multiple YAML "files" to the same
|
|
file/stream.
|
|
|
|
</p>
|
|
<b>Parameters:</b><div class="pbr"><table class=parms><tr><td valign=top>Node[] <b>documents</b></td>
|
|
<td valign=top>Documents to dump (root nodes of the documents).</td></tr>
|
|
</table></div>
|
|
<b>Throws:</b><div class="pbr">YAMLException on error (e.g. invalid nodes,
|
|
unable to write to file/stream).</div>
|
|
|
|
</dd>
|
|
</dl>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
|
|
<div id="copyright">
|
|
Copyright © Ferdinand Majerech 2011-2014. Based on <a href="http://www.pyyaml.org">PyYAML</a> by Kirill Simonov. |
|
|
Page generated by AutoDDoc and <a href="http://www.digitalmars.com/d/2.0/ddoc.html">Ddoc</a>.
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|