<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Standard library reference on Xo Language</title><link>https://xolang.dev/docs/stdlib/</link><description>Recent content in Standard library reference on Xo Language</description><generator>Hugo</generator><language>en-US</language><atom:link href="https://xolang.dev/docs/stdlib/index.xml" rel="self" type="application/rss+xml"/><item><title>std/adler32</title><link>https://xolang.dev/docs/stdlib/adler32/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/adler32/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;fn &lt;a href="#checksum"&gt;&lt;code&gt;checksum&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#update"&gt;&lt;code&gt;update&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="checksum"&gt;checksum&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;checksum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The Adler-32 of data, 0 to 2^32 - 1 (Go&amp;rsquo;s Checksum); 1 for empty data.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/adler32.xo#L7"&gt;Source: &lt;code&gt;std/adler32.xo:7&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="update"&gt;update&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sum&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The Adler-32 of what sum was the checksum of, followed by data (Go&amp;rsquo;s&#10;Write on a digest at that state): &lt;code&gt;update(checksum(a), b) == checksum(a + b)&lt;/code&gt;, and &lt;code&gt;update(1, d) == checksum(d)&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/adler32.xo#L11"&gt;Source: &lt;code&gt;std/adler32.xo:11&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/amqp</title><link>https://xolang.dev/docs/stdlib/amqp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/amqp/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#value"&gt;&lt;code&gt;Value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#amqperr"&gt;&lt;code&gt;AmqpErr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#role"&gt;&lt;code&gt;Role&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#sendersettlemode"&gt;&lt;code&gt;SenderSettleMode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#receiversettlemode"&gt;&lt;code&gt;ReceiverSettleMode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#wireerror"&gt;&lt;code&gt;WireError&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#deliverystate"&gt;&lt;code&gt;DeliveryState&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#source"&gt;&lt;code&gt;Source&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#target"&gt;&lt;code&gt;Target&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#open"&gt;&lt;code&gt;Open&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#begin"&gt;&lt;code&gt;Begin&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#attach"&gt;&lt;code&gt;Attach&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#flow"&gt;&lt;code&gt;Flow&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#transfer"&gt;&lt;code&gt;Transfer&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#disposition"&gt;&lt;code&gt;Disposition&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#detach"&gt;&lt;code&gt;Detach&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#end"&gt;&lt;code&gt;End&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#close"&gt;&lt;code&gt;Close&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#saslmechanisms"&gt;&lt;code&gt;SaslMechanisms&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#saslinit"&gt;&lt;code&gt;SaslInit&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#saslchallenge"&gt;&lt;code&gt;SaslChallenge&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#saslresponse"&gt;&lt;code&gt;SaslResponse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#sasloutcome"&gt;&lt;code&gt;SaslOutcome&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#framebody"&gt;&lt;code&gt;FrameBody&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#frame"&gt;&lt;code&gt;Frame&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#sasl"&gt;&lt;code&gt;Sasl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#connoptions"&gt;&lt;code&gt;ConnOptions&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#transport"&gt;&lt;code&gt;Transport&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#connstate"&gt;&lt;code&gt;ConnState&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#connection"&gt;&lt;code&gt;Connection&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#connectionpeer_container_id"&gt;&lt;code&gt;Connection.peer_container_id&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionpeer_max_frame_size"&gt;&lt;code&gt;Connection.peer_max_frame_size&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionpeer_channel_max"&gt;&lt;code&gt;Connection.peer_channel_max&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionpeer_idle_timeout_ms"&gt;&lt;code&gt;Connection.peer_idle_timeout_ms&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionpeer_properties"&gt;&lt;code&gt;Connection.peer_properties&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionkeepalive"&gt;&lt;code&gt;Connection.keepalive&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionsend"&gt;&lt;code&gt;Connection.send&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionrecv"&gt;&lt;code&gt;Connection.recv&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionclose"&gt;&lt;code&gt;Connection.close&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionabort"&gt;&lt;code&gt;Connection.abort&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionbegin"&gt;&lt;code&gt;Connection.begin&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionend_session"&gt;&lt;code&gt;Connection.end_session&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionnew_sender"&gt;&lt;code&gt;Connection.new_sender&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#connectionnew_receiver"&gt;&lt;code&gt;Connection.new_receiver&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#sessionoptions"&gt;&lt;code&gt;SessionOptions&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#session"&gt;&lt;code&gt;Session&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#header"&gt;&lt;code&gt;Header&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#properties"&gt;&lt;code&gt;Properties&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#body"&gt;&lt;code&gt;Body&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#message"&gt;&lt;code&gt;Message&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#sessstate"&gt;&lt;code&gt;SessState&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#delivery"&gt;&lt;code&gt;Delivery&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#linkstate"&gt;&lt;code&gt;LinkState&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#senderoptions"&gt;&lt;code&gt;SenderOptions&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#receiveroptions"&gt;&lt;code&gt;ReceiverOptions&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#sender"&gt;&lt;code&gt;Sender&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#sendersend"&gt;&lt;code&gt;Sender.send&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#senderclose"&gt;&lt;code&gt;Sender.close&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#senderremote_attach"&gt;&lt;code&gt;Sender.remote_attach&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#receiver"&gt;&lt;code&gt;Receiver&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#receiverreceive"&gt;&lt;code&gt;Receiver.receive&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#receiverremote_attach"&gt;&lt;code&gt;Receiver.remote_attach&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#receiverissue_credit"&gt;&lt;code&gt;Receiver.issue_credit&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#receiverdrain"&gt;&lt;code&gt;Receiver.drain&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#receiveraccept"&gt;&lt;code&gt;Receiver.accept&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#receiverreject"&gt;&lt;code&gt;Receiver.reject&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#receiverrelease"&gt;&lt;code&gt;Receiver.release&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#receivermodify"&gt;&lt;code&gt;Receiver.modify&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#receiverclose"&gt;&lt;code&gt;Receiver.close&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode"&gt;&lt;code&gt;encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode"&gt;&lt;code&gt;decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_frame"&gt;&lt;code&gt;encode_frame&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_frame"&gt;&lt;code&gt;decode_frame&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#dial"&gt;&lt;code&gt;dial&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_message"&gt;&lt;code&gt;encode_message&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_message"&gt;&lt;code&gt;decode_message&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#cbs_put_token"&gt;&lt;code&gt;cbs_put_token&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="value"&gt;Value&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Null&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Bool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;UByte&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;UInt8&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;UShort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;UInt16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;UInt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;UInt32&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ULong&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;UInt64&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Byte&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Int8&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Short&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Int16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Int32&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Long&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Int64&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Float&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Float32&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Double&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Float&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Decimal32&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bits&lt;/span&gt;: &lt;span class="nc"&gt;UInt32&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Decimal64&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bits&lt;/span&gt;: &lt;span class="nc"&gt;UInt64&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Decimal128&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bits&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Char&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Rune&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Timestamp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ms&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Uuid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bytes&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Binary&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pairs&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[(&lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;)])&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Described&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;descriptor&lt;/span&gt;: &lt;span class="nc"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;: &lt;span class="nc"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;An AMQP 1.0 value (section 1.6 of the specification): the primitive&#10;types, the compound types, and a described value.&lt;/p&gt;</description></item><item><title>std/amqptest</title><link>https://xolang.dev/docs/stdlib/amqptest/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/amqptest/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#queueoptions"&gt;&lt;code&gt;QueueOptions&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fakemsg"&gt;&lt;code&gt;FakeMsg&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fakesession"&gt;&lt;code&gt;FakeSession&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fakequeue"&gt;&lt;code&gt;FakeQueue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fakefail"&gt;&lt;code&gt;FakeFail&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fakepart"&gt;&lt;code&gt;FakePart&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fakehub"&gt;&lt;code&gt;FakeHub&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#hubowner"&gt;&lt;code&gt;HubOwner&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#brokerstate"&gt;&lt;code&gt;BrokerState&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#broker"&gt;&lt;code&gt;Broker&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#brokerserve"&gt;&lt;code&gt;Broker.serve&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerqueue"&gt;&lt;code&gt;Broker.queue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerevent_hub"&gt;&lt;code&gt;Broker.event_hub&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerevent_hub_geo_factor"&gt;&lt;code&gt;Broker.event_hub_geo_factor&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerevents"&gt;&lt;code&gt;Broker.events&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokertopic"&gt;&lt;code&gt;Broker.topic&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokersubscription"&gt;&lt;code&gt;Broker.subscription&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerput"&gt;&lt;code&gt;Broker.put&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerready"&gt;&lt;code&gt;Broker.ready&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerlocked"&gt;&lt;code&gt;Broker.locked&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerdead_letters"&gt;&lt;code&gt;Broker.dead_letters&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerscheduled"&gt;&lt;code&gt;Broker.scheduled&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerdeferred"&gt;&lt;code&gt;Broker.deferred&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokertokens"&gt;&lt;code&gt;Broker.tokens&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerattaches"&gt;&lt;code&gt;Broker.attaches&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerreject_token"&gt;&lt;code&gt;Broker.reject_token&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerrequire_token"&gt;&lt;code&gt;Broker.require_token&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokersession_state"&gt;&lt;code&gt;Broker.session_state&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerfail_next"&gt;&lt;code&gt;Broker.fail_next&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerfail"&gt;&lt;code&gt;Broker.fail&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerclear_failures"&gt;&lt;code&gt;Broker.clear_failures&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerslow_management"&gt;&lt;code&gt;Broker.slow_management&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerdetach_links"&gt;&lt;code&gt;Broker.detach_links&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#brokerdisconnect_all"&gt;&lt;code&gt;Broker.disconnect_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#svlink"&gt;&lt;code&gt;SvLink&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#svsession"&gt;&lt;code&gt;SvSession&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#svconn"&gt;&lt;code&gt;SvConn&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#new"&gt;&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="queueoptions"&gt;QueueOptions&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;QueueOptions&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sessions&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;lock_ms&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;60000&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;max_delivery_count&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;One entity&amp;rsquo;s settings.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/amqptest.xo#L8"&gt;Source: &lt;code&gt;std/amqptest.xo:8&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="fakemsg"&gt;FakeMsg&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;FakeMsg&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;seq&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;m&lt;/span&gt;: &lt;span class="nc"&gt;amqp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Message&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;delivery_count&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;lock_token&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sa"&gt;b&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;locked_until&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;lock_conn&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;scheduled_ms&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;enqueued_ms&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;session&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;deferred&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dead_reason&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dead_description&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A message held by a queue. Internal: use the Broker&amp;rsquo;s methods.&lt;/p&gt;</description></item><item><title>std/archive</title><link>https://xolang.dev/docs/stdlib/archive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/archive/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#entry"&gt;&lt;code&gt;Entry&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#archiveerr"&gt;&lt;code&gt;ArchiveErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#archiveerrdisplay"&gt;&lt;code&gt;ArchiveErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#zipfile"&gt;&lt;code&gt;ZipFile&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#zipreader"&gt;&lt;code&gt;ZipReader&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#zipreaderfiles"&gt;&lt;code&gt;ZipReader.files&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#zipreaderread"&gt;&lt;code&gt;ZipReader.read&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#zipwriter"&gt;&lt;code&gt;ZipWriter&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#zipwriteradd"&gt;&lt;code&gt;ZipWriter.add&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#zipwritercreate"&gt;&lt;code&gt;ZipWriter.create&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#zipwriterwrite"&gt;&lt;code&gt;ZipWriter.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#zipwriterclose"&gt;&lt;code&gt;ZipWriter.close&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#file"&gt;&lt;code&gt;file&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#dir"&gt;&lt;code&gt;dir&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#gzip"&gt;&lt;code&gt;gzip&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#gunzip"&gt;&lt;code&gt;gunzip&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#tar"&gt;&lt;code&gt;tar&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#untar"&gt;&lt;code&gt;untar&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#zip"&gt;&lt;code&gt;zip&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unzip"&gt;&lt;code&gt;unzip&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#zip_reader"&gt;&lt;code&gt;zip_reader&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#zip_open"&gt;&lt;code&gt;zip_open&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#zip_writer"&gt;&lt;code&gt;zip_writer&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="entry"&gt;Entry&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Entry&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;mode&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;is_dir&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;modified&lt;/span&gt;: &lt;span class="nc"&gt;Time&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A file or directory of an archive. &lt;code&gt;path&lt;/code&gt; uses &lt;code&gt;/&lt;/code&gt;; a directory&amp;rsquo;s&#10;&lt;code&gt;data&lt;/code&gt; is empty (unzip and untar of an entry whose mode says directory&#10;return no data for it, even when the archive stores some, decision 0164).&lt;/p&gt;</description></item><item><title>std/backoff</title><link>https://xolang.dev/docs/stdlib/backoff/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/backoff/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#backoff"&gt;&lt;code&gt;Backoff&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#backoffdelay"&gt;&lt;code&gt;Backoff.delay&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#retry"&gt;&lt;code&gt;retry&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#retry_notify"&gt;&lt;code&gt;retry_notify&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#always"&gt;&lt;code&gt;always&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="backoff"&gt;Backoff&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Backoff&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;initial&lt;/span&gt;: &lt;span class="nc"&gt;Duration&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="n"&gt;ms&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;multiplier&lt;/span&gt;: &lt;span class="nc"&gt;Float&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;1.5&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;randomization&lt;/span&gt;: &lt;span class="nc"&gt;Float&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;max_interval&lt;/span&gt;: &lt;span class="nc"&gt;Duration&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;max_elapsed&lt;/span&gt;: &lt;span class="nc"&gt;Duration&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="n"&gt;m&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;max_tries&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The schedule (cenkalti/backoff v4&amp;rsquo;s defaults): the first delay is&#10;&lt;code&gt;initial&lt;/code&gt;, each next one &lt;code&gt;multiplier&lt;/code&gt; times the last up to&#10;&lt;code&gt;max_interval&lt;/code&gt;, each randomized within &lt;code&gt;randomization&lt;/code&gt; of itself.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/backoff.xo#L10"&gt;Source: &lt;code&gt;std/backoff.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="backoffdelay"&gt;Backoff.delay&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;: &lt;span class="nc"&gt;Backoff&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;delay&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;attempt&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rand&lt;/span&gt;: &lt;span class="nc"&gt;Rand&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Duration&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;uses&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rand&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The delay before retry number attempt (0 for the first retry):&#10;&lt;code&gt;initial&lt;/code&gt; times &lt;code&gt;multiplier&lt;/code&gt; attempt times, capped at &lt;code&gt;max_interval&lt;/code&gt;,&#10;randomized with one &lt;code&gt;rand.float()&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>std/base32</title><link>https://xolang.dev/docs/stdlib/base32/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/base32/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#base32"&gt;&lt;code&gt;Base32&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#decodeerr"&gt;&lt;code&gt;DecodeErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#decodeerrdisplay"&gt;&lt;code&gt;DecodeErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode"&gt;&lt;code&gt;encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode"&gt;&lt;code&gt;decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="base32"&gt;Base32&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Base32&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Std&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Hex&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;RawStd&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;RawHex&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;RFC 4648 section 6 (&lt;code&gt;Std&lt;/code&gt;, &lt;code&gt;A-Z2-7&lt;/code&gt;) and section 7 (&lt;code&gt;Hex&lt;/code&gt;,&#10;&lt;code&gt;0-9A-V&lt;/code&gt;); the Raw forms write and read no &lt;code&gt;=&lt;/code&gt; padding.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/base32.xo#L7"&gt;Source: &lt;code&gt;std/base32.xo:7&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="decodeerr"&gt;DecodeErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;DecodeErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;at&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Displays as Go&amp;rsquo;s CorruptInputError: &lt;code&gt;illegal base32 data at input byte 4&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/base32.xo#L15"&gt;Source: &lt;code&gt;std/base32.xo:15&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="decodeerrdisplay"&gt;DecodeErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;DecodeErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/base32.xo#L19"&gt;Source: &lt;code&gt;std/base32.xo:19&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="encode"&gt;encode&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;enc&lt;/span&gt;: &lt;span class="nc"&gt;Base32&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Base32&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Std&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/base32.xo#L21"&gt;Source: &lt;code&gt;std/base32.xo:21&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/base64</title><link>https://xolang.dev/docs/stdlib/base64/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/base64/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#base64"&gt;&lt;code&gt;Base64&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#decodeerr"&gt;&lt;code&gt;DecodeErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#decodeerrdisplay"&gt;&lt;code&gt;DecodeErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode"&gt;&lt;code&gt;encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode"&gt;&lt;code&gt;decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="base64"&gt;Base64&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Base64&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Std&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Url&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;RawStd&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;RawUrl&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;RFC 4648 section 4 (&lt;code&gt;Std&lt;/code&gt;, &lt;code&gt;+/&lt;/code&gt;) and section 5 (&lt;code&gt;Url&lt;/code&gt;, &lt;code&gt;-_&lt;/code&gt;); the Raw&#10;forms write and read no &lt;code&gt;=&lt;/code&gt; padding.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/base64.xo#L8"&gt;Source: &lt;code&gt;std/base64.xo:8&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="decodeerr"&gt;DecodeErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;DecodeErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;at&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Displays as Go&amp;rsquo;s CorruptInputError: &lt;code&gt;illegal base64 data at input byte 4&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/base64.xo#L16"&gt;Source: &lt;code&gt;std/base64.xo:16&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="decodeerrdisplay"&gt;DecodeErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;DecodeErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/base64.xo#L20"&gt;Source: &lt;code&gt;std/base64.xo:20&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="encode"&gt;encode&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;enc&lt;/span&gt;: &lt;span class="nc"&gt;Base64&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Base64&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Std&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/base64.xo#L22"&gt;Source: &lt;code&gt;std/base64.xo:22&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/bcrypt</title><link>https://xolang.dev/docs/stdlib/bcrypt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/bcrypt/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;const &lt;a href="#min_cost"&gt;&lt;code&gt;MIN_COST&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#max_cost"&gt;&lt;code&gt;MAX_COST&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#default_cost"&gt;&lt;code&gt;DEFAULT_COST&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#bcrypterr"&gt;&lt;code&gt;BcryptErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#bcrypterrdisplay"&gt;&lt;code&gt;BcryptErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#hash"&gt;&lt;code&gt;hash&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#compare"&gt;&lt;code&gt;compare&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#cost"&gt;&lt;code&gt;cost&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="min_cost"&gt;MIN_COST&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;MIN_COST&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The lowest cost &lt;code&gt;hash&lt;/code&gt; accepts; a lower one is replaced by DEFAULT_COST&#10;(Go&amp;rsquo;s MinCost).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/bcrypt.xo#L11"&gt;Source: &lt;code&gt;std/bcrypt.xo:11&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="max_cost"&gt;MAX_COST&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;MAX_COST&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;31&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The highest cost (Go&amp;rsquo;s MaxCost).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/bcrypt.xo#L13"&gt;Source: &lt;code&gt;std/bcrypt.xo:13&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="default_cost"&gt;DEFAULT_COST&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;DEFAULT_COST&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The cost &lt;code&gt;hash&lt;/code&gt; uses by default and for a cost below MIN_COST (Go&amp;rsquo;s&#10;DefaultCost).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/bcrypt.xo#L16"&gt;Source: &lt;code&gt;std/bcrypt.xo:16&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="bcrypterr"&gt;BcryptErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;BcryptErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Mismatch&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HashTooShort&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;VersionTooNew&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;InvalidPrefix&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;byte&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;InvalidCost&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cost&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PasswordTooLong&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Corrupt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Go&amp;rsquo;s errors, with Go&amp;rsquo;s texts as &lt;code&gt;display()&lt;/code&gt;: &lt;code&gt;crypto/bcrypt: hashedPassword is not the hash of the given password&lt;/code&gt;, &lt;code&gt;crypto/bcrypt: hashedSecret too short to be a bcrypted password&lt;/code&gt;, &lt;code&gt;crypto/bcrypt: bcrypt algorithm version '3' requested is newer than current version '2'&lt;/code&gt;,&#10;&lt;code&gt;crypto/bcrypt: bcrypt hashes must start with '$', but hashedSecret started with 'x'&lt;/code&gt;, &lt;code&gt;crypto/bcrypt: cost 3 is outside allowed inclusive range 4..31&lt;/code&gt;, &lt;code&gt;bcrypt: password length exceeds 72 bytes&lt;/code&gt;; Corrupt is a&#10;cost or salt that is not valid text (Go&amp;rsquo;s strconv and base64 errors).&lt;/p&gt;</description></item><item><title>std/big</title><link>https://xolang.dev/docs/stdlib/big/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/big/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#bigint"&gt;&lt;code&gt;BigInt&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#bigintadd"&gt;&lt;code&gt;BigInt.add&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintsub"&gt;&lt;code&gt;BigInt.sub&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintmul"&gt;&lt;code&gt;BigInt.mul&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintquo"&gt;&lt;code&gt;BigInt.quo&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintrem"&gt;&lt;code&gt;BigInt.rem&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintquo_rem"&gt;&lt;code&gt;BigInt.quo_rem&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintdiv"&gt;&lt;code&gt;BigInt.div&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintmod"&gt;&lt;code&gt;BigInt.mod&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintdiv_mod"&gt;&lt;code&gt;BigInt.div_mod&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintexp"&gt;&lt;code&gt;BigInt.exp&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintgcd"&gt;&lt;code&gt;BigInt.gcd&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintmod_inverse"&gt;&lt;code&gt;BigInt.mod_inverse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintsqrt"&gt;&lt;code&gt;BigInt.sqrt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintneg"&gt;&lt;code&gt;BigInt.neg&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintabs"&gt;&lt;code&gt;BigInt.abs&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintsign"&gt;&lt;code&gt;BigInt.sign&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintcmp"&gt;&lt;code&gt;BigInt.cmp&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintcmp_abs"&gt;&lt;code&gt;BigInt.cmp_abs&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintlsh"&gt;&lt;code&gt;BigInt.lsh&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintrsh"&gt;&lt;code&gt;BigInt.rsh&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintand"&gt;&lt;code&gt;BigInt.and&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintor"&gt;&lt;code&gt;BigInt.or&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintxor"&gt;&lt;code&gt;BigInt.xor&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintand_not"&gt;&lt;code&gt;BigInt.and_not&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintnot"&gt;&lt;code&gt;BigInt.not&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintbit"&gt;&lt;code&gt;BigInt.bit&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintbit_len"&gt;&lt;code&gt;BigInt.bit_len&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#biginttrailing_zeros"&gt;&lt;code&gt;BigInt.trailing_zeros&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintprobably_prime"&gt;&lt;code&gt;BigInt.probably_prime&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#biginttext"&gt;&lt;code&gt;BigInt.text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintbytes"&gt;&lt;code&gt;BigInt.bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintfill_bytes"&gt;&lt;code&gt;BigInt.fill_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintto_int"&gt;&lt;code&gt;BigInt.to_int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintto_float"&gt;&lt;code&gt;BigInt.to_float&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintdisplay"&gt;&lt;code&gt;BigInt.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bigintdebug"&gt;&lt;code&gt;BigInt.debug&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#bigerr"&gt;&lt;code&gt;BigErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#bigerrdisplay"&gt;&lt;code&gt;BigErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#from_int"&gt;&lt;code&gt;from_int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#from_bytes"&gt;&lt;code&gt;from_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="bigint"&gt;BigInt&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;BigInt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Eq&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Ord&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Hash&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;An integer of any size. &lt;code&gt;key&lt;/code&gt; encodes it so that the derived order is&#10;the numeric one: zero is [0]; a number of n 64 bit limbs is n (-n when&#10;negative), then its limbs from the most significant, each xor the sign&#10;bit (xor 2^63 - 1 when negative). Build one with the functions below,&#10;not a literal.&lt;/p&gt;</description></item><item><title>std/binary</title><link>https://xolang.dev/docs/stdlib/binary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/binary/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;fn &lt;a href="#u16_be"&gt;&lt;code&gt;u16_be&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#u32_be"&gt;&lt;code&gt;u32_be&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#u64_be"&gt;&lt;code&gt;u64_be&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#u16_le"&gt;&lt;code&gt;u16_le&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#u32_le"&gt;&lt;code&gt;u32_le&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#u64_le"&gt;&lt;code&gt;u64_le&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#get_u16_be"&gt;&lt;code&gt;get_u16_be&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#get_u32_be"&gt;&lt;code&gt;get_u32_be&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#get_u64_be"&gt;&lt;code&gt;get_u64_be&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#get_u16_le"&gt;&lt;code&gt;get_u16_le&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#get_u32_le"&gt;&lt;code&gt;get_u32_le&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#get_u64_le"&gt;&lt;code&gt;get_u64_le&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#get_i16_be"&gt;&lt;code&gt;get_i16_be&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#get_i32_be"&gt;&lt;code&gt;get_i32_be&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#get_i16_le"&gt;&lt;code&gt;get_i16_le&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#get_i32_le"&gt;&lt;code&gt;get_i32_le&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#uvarint"&gt;&lt;code&gt;uvarint&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#varint"&gt;&lt;code&gt;varint&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#get_uvarint"&gt;&lt;code&gt;get_uvarint&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#get_varint"&gt;&lt;code&gt;get_varint&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="u16_be"&gt;u16_be&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;u16_be&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The low 16 bits of n, big endian (2 bytes); also the 32 (4 bytes) and&#10;64 bit (8 bytes) forms and little endian ones.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/binary.xo#L9"&gt;Source: &lt;code&gt;std/binary.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="u32_be"&gt;u32_be&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;u32_be&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/binary.xo#L10"&gt;Source: &lt;code&gt;std/binary.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="u64_be"&gt;u64_be&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;u64_be&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/binary.xo#L11"&gt;Source: &lt;code&gt;std/binary.xo:11&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="u16_le"&gt;u16_le&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;u16_le&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/binary.xo#L12"&gt;Source: &lt;code&gt;std/binary.xo:12&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="u32_le"&gt;u32_le&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;u32_le&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/binary.xo#L13"&gt;Source: &lt;code&gt;std/binary.xo:13&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="u64_le"&gt;u64_le&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;u64_le&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/binary.xo#L14"&gt;Source: &lt;code&gt;std/binary.xo:14&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/bufio</title><link>https://xolang.dev/docs/stdlib/bufio/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/bufio/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#buferr"&gt;&lt;code&gt;BufErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#buferrdisplay"&gt;&lt;code&gt;BufErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#reader"&gt;&lt;code&gt;Reader&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#readerread"&gt;&lt;code&gt;Reader.read&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#readerread_until"&gt;&lt;code&gt;Reader.read_until&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#readerread_line"&gt;&lt;code&gt;Reader.read_line&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#readerread_exact"&gt;&lt;code&gt;Reader.read_exact&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#readerpeek"&gt;&lt;code&gt;Reader.peek&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#readerbuffered"&gt;&lt;code&gt;Reader.buffered&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#reader"&gt;&lt;code&gt;reader&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="buferr"&gt;BufErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;BufErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Net&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;err&lt;/span&gt;: &lt;span class="nc"&gt;NetErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TooLong&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;UnexpectedEof&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Why a read failed: the stream&amp;rsquo;s own error (a timeout, a cancellation,&#10;a reset), a record longer than the limit given (a caller closes the&#10;connection), or the stream ending before &lt;code&gt;read_exact&lt;/code&gt;&#10;had its bytes. Displays as the stream&amp;rsquo;s error text, &lt;code&gt;bufio: record too long&lt;/code&gt; and &lt;code&gt;bufio: unexpected EOF&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>std/cbor</title><link>https://xolang.dev/docs/stdlib/cbor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/cbor/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#value"&gt;&lt;code&gt;Value&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#valueto_int"&gt;&lt;code&gt;Value.to_int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#valueget"&gt;&lt;code&gt;Value.get&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#valuediagnostic"&gt;&lt;code&gt;Value.diagnostic&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#valueto_json"&gt;&lt;code&gt;Value.to_json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#cborerr"&gt;&lt;code&gt;CborErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#cborerrdisplay"&gt;&lt;code&gt;CborErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#unm"&gt;&lt;code&gt;Unm&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#from_int"&gt;&lt;code&gt;from_int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode"&gt;&lt;code&gt;encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode"&gt;&lt;code&gt;decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_prefix"&gt;&lt;code&gt;decode_prefix&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#well_formed"&gt;&lt;code&gt;well_formed&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#from_json"&gt;&lt;code&gt;from_json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#marshal"&gt;&lt;code&gt;marshal&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unmarshal"&gt;&lt;code&gt;unmarshal&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unmarshal_prefix"&gt;&lt;code&gt;unmarshal_prefix&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unm_new"&gt;&lt;code&gt;unm_new&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#dec_error"&gt;&lt;code&gt;dec_error&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#is_null"&gt;&lt;code&gt;is_null&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_str"&gt;&lt;code&gt;to_str&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_int"&gt;&lt;code&gt;to_int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_float"&gt;&lt;code&gt;to_float&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_bool"&gt;&lt;code&gt;to_bool&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_bytes"&gt;&lt;code&gt;to_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#items"&gt;&lt;code&gt;items&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#pairs"&gt;&lt;code&gt;pairs&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#key_text"&gt;&lt;code&gt;key_text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#key_int"&gt;&lt;code&gt;key_int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unknown_key"&gt;&lt;code&gt;unknown_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#sorted_keys"&gt;&lt;code&gt;sorted_keys&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_value"&gt;&lt;code&gt;to_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#from_value"&gt;&lt;code&gt;from_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_time"&gt;&lt;code&gt;to_time&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_duration"&gt;&lt;code&gt;to_duration&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#from_time"&gt;&lt;code&gt;from_time&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#from_duration"&gt;&lt;code&gt;from_duration&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_head"&gt;&lt;code&gt;put_head&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_int"&gt;&lt;code&gt;put_int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_float"&gt;&lt;code&gt;put_float&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_text"&gt;&lt;code&gt;put_text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_bytes"&gt;&lt;code&gt;put_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_value"&gt;&lt;code&gt;put_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#det_keys"&gt;&lt;code&gt;det_keys&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#bad_arity"&gt;&lt;code&gt;bad_arity&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#bad_variant"&gt;&lt;code&gt;bad_variant&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="value"&gt;Value&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Uint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;: &lt;span class="nc"&gt;UInt64&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Nint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;: &lt;span class="nc"&gt;UInt64&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ByteString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TextString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pairs&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[(&lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;)])&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Tag&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num&lt;/span&gt;: &lt;span class="nc"&gt;UInt64&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Simple&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Bool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Null&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Undefined&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Float&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;: &lt;span class="nc"&gt;Float&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A CBOR data item. Integers keep the full range of the format: &lt;code&gt;Uint(n)&lt;/code&gt;&#10;is n (0 to 2^64-1) and &lt;code&gt;Nint(n)&lt;/code&gt; is -1-n (-1 down to -2^64), so&#10;&lt;code&gt;Nint(0)&lt;/code&gt; is -1. A map keeps its pairs in order, with any key. &lt;code&gt;Simple(n)&lt;/code&gt;&#10;is a simple value other than false, true, null and undefined (n is 0 to&#10;19 or 32 to 255). A decoded half, single or double float is a &lt;code&gt;Float&lt;/code&gt;;&#10;&lt;code&gt;encode&lt;/code&gt; writes the shortest of the three that holds the value.&lt;/p&gt;</description></item><item><title>std/charset</title><link>https://xolang.dev/docs/stdlib/charset/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/charset/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#charset"&gt;&lt;code&gt;Charset&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#charseterr"&gt;&lt;code&gt;CharsetErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#charseterrdisplay"&gt;&lt;code&gt;CharsetErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode"&gt;&lt;code&gt;decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode"&gt;&lt;code&gt;encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#lookup"&gt;&lt;code&gt;lookup&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#utf16_units"&gt;&lt;code&gt;utf16_units&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#from_utf16_units"&gt;&lt;code&gt;from_utf16_units&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="charset"&gt;Charset&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Charset&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Utf8&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Utf16Le&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Utf16Be&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Utf16Bom&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Latin1&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Windows1252&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Eq&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The encodings. &lt;code&gt;Utf16Le&lt;/code&gt; and &lt;code&gt;Utf16Be&lt;/code&gt; write and read no byte order mark&#10;(a U+FEFF at the start is an ordinary character, x/text&amp;rsquo;s IgnoreBOM).&#10;&lt;code&gt;Utf16Bom&lt;/code&gt; reads a mark (FF FE little endian, FE FF big endian) and&#10;drops it, little endian when there is none, and writes little endian&#10;with a mark (x/text&amp;rsquo;s UseBOM and a little endian default; Excel&amp;rsquo;s&#10;Unicode Text). &lt;code&gt;Latin1&lt;/code&gt; is ISO 8859-1 (a byte is the code point of the&#10;same value); &lt;code&gt;Windows1252&lt;/code&gt; is the WHATWG windows-1252 table (0x80 to&#10;0x9F are the printable characters Microsoft put there, and the five it&#10;left unassigned, 0x81, 0x8D, 0x8F, 0x90 and 0x9D, are U+0081, U+008D,&#10;U+008F, U+0090 and U+009D).&lt;/p&gt;</description></item><item><title>std/cli</title><link>https://xolang.dev/docs/stdlib/cli/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/cli/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#command"&gt;&lt;code&gt;Command&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#flag"&gt;&lt;code&gt;Flag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#arg"&gt;&lt;code&gt;Arg&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#parsed"&gt;&lt;code&gt;Parsed&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#parsedcommand"&gt;&lt;code&gt;Parsed.command&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedbool"&gt;&lt;code&gt;Parsed.bool&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedstr"&gt;&lt;code&gt;Parsed.str&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedstr_opt"&gt;&lt;code&gt;Parsed.str_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedint"&gt;&lt;code&gt;Parsed.int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedint_opt"&gt;&lt;code&gt;Parsed.int_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedduration"&gt;&lt;code&gt;Parsed.duration&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedduration_opt"&gt;&lt;code&gt;Parsed.duration_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedfloat"&gt;&lt;code&gt;Parsed.float&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedfloat_opt"&gt;&lt;code&gt;Parsed.float_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedstrs"&gt;&lt;code&gt;Parsed.strs&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedis_set"&gt;&lt;code&gt;Parsed.is_set&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedarg"&gt;&lt;code&gt;Parsed.arg&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedarg_opt"&gt;&lt;code&gt;Parsed.arg_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#parsedrest"&gt;&lt;code&gt;Parsed.rest&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#clierr"&gt;&lt;code&gt;CliErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#clierrdisplay"&gt;&lt;code&gt;CliErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clierrexit_code"&gt;&lt;code&gt;CliErr.exit_code&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#command"&gt;&lt;code&gt;command&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#bool_flag"&gt;&lt;code&gt;bool_flag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#str_flag"&gt;&lt;code&gt;str_flag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#int_flag"&gt;&lt;code&gt;int_flag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#duration_flag"&gt;&lt;code&gt;duration_flag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#float_flag"&gt;&lt;code&gt;float_flag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#choice_flag"&gt;&lt;code&gt;choice_flag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#strs_flag"&gt;&lt;code&gt;strs_flag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#arg"&gt;&lt;code&gt;arg&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#rest"&gt;&lt;code&gt;rest&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_or_exit"&gt;&lt;code&gt;parse_or_exit&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#help"&gt;&lt;code&gt;help&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#completion"&gt;&lt;code&gt;completion&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="command"&gt;Command&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Command&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A command: a name, a help line, flags, positional arguments, and&#10;subcommands (std.md 14.1).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/cli.xo#L16"&gt;Source: &lt;code&gt;std/cli.xo:16&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="flag"&gt;Flag&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Flag&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A flag (&lt;code&gt;--name value&lt;/code&gt;, &lt;code&gt;-n value&lt;/code&gt;, &lt;code&gt;--verbose&lt;/code&gt;).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/cli.xo#L18"&gt;Source: &lt;code&gt;std/cli.xo:18&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="arg"&gt;Arg&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Arg&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A positional argument.&lt;/p&gt;</description></item><item><title>std/compress</title><link>https://xolang.dev/docs/stdlib/compress/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/compress/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#level"&gt;&lt;code&gt;Level&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#compresserr"&gt;&lt;code&gt;CompressErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#compresserrdisplay"&gt;&lt;code&gt;CompressErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#format"&gt;&lt;code&gt;Format&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#compressor"&gt;&lt;code&gt;Compressor&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#compressorwrite"&gt;&lt;code&gt;Compressor.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#compressorflush"&gt;&lt;code&gt;Compressor.flush&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#compressorfinish"&gt;&lt;code&gt;Compressor.finish&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#decompressor"&gt;&lt;code&gt;Decompressor&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#decompressorwrite"&gt;&lt;code&gt;Decompressor.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#decompressorfinish"&gt;&lt;code&gt;Decompressor.finish&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#gzip"&gt;&lt;code&gt;gzip&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#gunzip"&gt;&lt;code&gt;gunzip&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#deflate"&gt;&lt;code&gt;deflate&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#inflate"&gt;&lt;code&gt;inflate&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#zlib"&gt;&lt;code&gt;zlib&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unzlib"&gt;&lt;code&gt;unzlib&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#compressor"&gt;&lt;code&gt;compressor&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decompressor"&gt;&lt;code&gt;decompressor&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="level"&gt;Level&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Level&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;NoCompression&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BestSpeed&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Default&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BestCompression&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HuffmanOnly&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A compression level: Go&amp;rsquo;s -2 (HuffmanOnly) to 9 (BestCompression);&#10;&lt;code&gt;Of(n)&lt;/code&gt; for any of them, a fault outside -2 to 9.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/compress.xo#L9"&gt;Source: &lt;code&gt;std/compress.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="compresserr"&gt;CompressErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;CompressErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Go&amp;rsquo;s error texts (&lt;code&gt;gzip: invalid header&lt;/code&gt;, &lt;code&gt;flate: corrupt input before offset 5&lt;/code&gt;, &lt;code&gt;zlib: invalid checksum&lt;/code&gt;, &lt;code&gt;unexpected EOF&lt;/code&gt;), or&#10;&lt;code&gt;gzip: output exceeds max_size (N bytes)&lt;/code&gt; (flate, zlib likewise).&lt;/p&gt;</description></item><item><title>std/cookiejar</title><link>https://xolang.dev/docs/stdlib/cookiejar/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/cookiejar/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#entry"&gt;&lt;code&gt;Entry&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#jarstate"&gt;&lt;code&gt;JarState&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#jar"&gt;&lt;code&gt;Jar&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#jarset_cookies"&gt;&lt;code&gt;Jar.set_cookies&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jarcookies"&gt;&lt;code&gt;Jar.cookies&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jarclear"&gt;&lt;code&gt;Jar.clear&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#new"&gt;&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="entry"&gt;Entry&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Entry&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;quoted&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;secure&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;persistent&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;host_only&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;expires&lt;/span&gt;: &lt;span class="nc"&gt;Time&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;creation&lt;/span&gt;: &lt;span class="nc"&gt;Time&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;last_access&lt;/span&gt;: &lt;span class="nc"&gt;Time&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;seq&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;One stored cookie (net/http/cookiejar&amp;rsquo;s entry). Internal: use the jar.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/cookiejar.xo#L10"&gt;Source: &lt;code&gt;std/cookiejar.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="jarstate"&gt;JarState&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;JarState&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;entries&lt;/span&gt;: &lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Map&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Entry&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;next_seq&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A jar&amp;rsquo;s state. Internal: use the methods.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/cookiejar.xo#L27"&gt;Source: &lt;code&gt;std/cookiejar.xo:27&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="jar"&gt;Jar&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Jar&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;st&lt;/span&gt;: &lt;span class="nc"&gt;Mutex&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;JarState&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A cookie jar. A handle: copies share the cookies, and tasks may use it&#10;at once.&lt;/p&gt;</description></item><item><title>std/crc32</title><link>https://xolang.dev/docs/stdlib/crc32/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/crc32/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#poly"&gt;&lt;code&gt;Poly&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#checksum"&gt;&lt;code&gt;checksum&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#update"&gt;&lt;code&gt;update&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="poly"&gt;Poly&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Poly&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Ieee&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Castagnoli&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The polynomial: Go&amp;rsquo;s IEEE (0xedb88320) and Castagnoli (0x82f63b78)&#10;tables, both reversed as Go&amp;rsquo;s are.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/crc32.xo#L8"&gt;Source: &lt;code&gt;std/crc32.xo:8&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="checksum"&gt;checksum&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;checksum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;poly&lt;/span&gt;: &lt;span class="nc"&gt;Poly&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Poly&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Ieee&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The CRC-32 of data, 0 to 2^32 - 1 (Go&amp;rsquo;s ChecksumIEEE, and Checksum&#10;with MakeTable(Castagnoli)).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/crc32.xo#L15"&gt;Source: &lt;code&gt;std/crc32.xo:15&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="update"&gt;update&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;crc&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;poly&lt;/span&gt;: &lt;span class="nc"&gt;Poly&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Poly&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Ieee&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The CRC-32 of what crc was the checksum of, followed by data (Go&amp;rsquo;s&#10;Update): &lt;code&gt;update(checksum(a), b) == checksum(a + b)&lt;/code&gt;, and&#10;&lt;code&gt;update(0, d) == checksum(d)&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>std/crc64</title><link>https://xolang.dev/docs/stdlib/crc64/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/crc64/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#poly"&gt;&lt;code&gt;Poly&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#checksum"&gt;&lt;code&gt;checksum&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#update"&gt;&lt;code&gt;update&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="poly"&gt;Poly&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Poly&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Iso&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Ecma&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Nvme&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The polynomial: Go&amp;rsquo;s ISO (0xd800000000000000) and ECMA&#10;(0xc96c5795d7870f42) tables, both reversed as Go&amp;rsquo;s are, and NVMe&amp;rsquo;s&#10;(0x9a6c9329ac4bc9b5 reversed, CRC-64/NVME: Amazon S3&amp;rsquo;s default&#10;flexible checksum; &lt;code&gt;checksum(b&amp;quot;123456789&amp;quot;, Poly.Nvme)&lt;/code&gt; is&#10;0xae8b14860a799888 as a Go uint64).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/crc64.xo#L11"&gt;Source: &lt;code&gt;std/crc64.xo:11&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="checksum"&gt;checksum&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;checksum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;poly&lt;/span&gt;: &lt;span class="nc"&gt;Poly&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Poly&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Iso&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The CRC-64 of data: the Int&amp;rsquo;s bits are Go&amp;rsquo;s uint64, so a checksum past&#10;2^63 is negative (Go&amp;rsquo;s Checksum with MakeTable(poly)).&lt;/p&gt;</description></item><item><title>std/cron</title><link>https://xolang.dev/docs/stdlib/cron/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/cron/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#cronerr"&gt;&lt;code&gt;CronErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#cronerrdisplay"&gt;&lt;code&gt;CronErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#schedule"&gt;&lt;code&gt;Schedule&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#schedulenext"&gt;&lt;code&gt;Schedule.next&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#schedulezone"&gt;&lt;code&gt;Schedule.zone&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="cronerr"&gt;CronErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;CronErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Why a spec did not parse; &lt;code&gt;msg&lt;/code&gt; is robfig/cron&amp;rsquo;s text, for example&#10;&lt;code&gt;expected exactly 5 fields, found 3: [* * *]&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/cron.xo#L9"&gt;Source: &lt;code&gt;std/cron.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="cronerrdisplay"&gt;CronErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;CronErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/cron.xo#L13"&gt;Source: &lt;code&gt;std/cron.xo:13&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="schedule"&gt;Schedule&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Schedule&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_every&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_minute&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_hour&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_dom&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_month&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_dow&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_dom_star&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_dow_star&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_loc&lt;/span&gt;: &lt;span class="nc"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Zone&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A parsed schedule: a value, never changes.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/cron.xo#L16"&gt;Source: &lt;code&gt;std/cron.xo:16&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/crypto</title><link>https://xolang.dev/docs/stdlib/crypto/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/crypto/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#hash"&gt;&lt;code&gt;Hash&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#hashsize"&gt;&lt;code&gt;Hash.size&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#hasher"&gt;&lt;code&gt;Hasher&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#hasherwrite"&gt;&lt;code&gt;Hasher.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#hashersum"&gt;&lt;code&gt;Hasher.sum&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#hasherwritten"&gt;&lt;code&gt;Hasher.written&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#aead"&gt;&lt;code&gt;Aead&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#aeadnonce_size"&gt;&lt;code&gt;Aead.nonce_size&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#aeadoverhead"&gt;&lt;code&gt;Aead.overhead&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#aeadkey"&gt;&lt;code&gt;AeadKey&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#aeadkeyalg"&gt;&lt;code&gt;AeadKey.alg&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#aeadkeyseal_random"&gt;&lt;code&gt;AeadKey.seal_random&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#aeadkeyopen_random"&gt;&lt;code&gt;AeadKey.open_random&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#aeadkeyseal"&gt;&lt;code&gt;AeadKey.seal&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#aeadkeyopen"&gt;&lt;code&gt;AeadKey.open&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#aeaderr"&gt;&lt;code&gt;AeadErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#aeaderrdisplay"&gt;&lt;code&gt;AeadErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#pemblock"&gt;&lt;code&gt;PemBlock&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#keyerr"&gt;&lt;code&gt;KeyErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#keyerrdisplay"&gt;&lt;code&gt;KeyErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#keyalg"&gt;&lt;code&gt;KeyAlg&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#publickey"&gt;&lt;code&gt;PublicKey&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#publickeyalg"&gt;&lt;code&gt;PublicKey.alg&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#privatekey"&gt;&lt;code&gt;PrivateKey&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#privatekeyalg"&gt;&lt;code&gt;PrivateKey.alg&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#privatekeypublic_key"&gt;&lt;code&gt;PrivateKey.public_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#sha256"&gt;&lt;code&gt;sha256&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#hmac_sha256"&gt;&lt;code&gt;hmac_sha256&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#equal"&gt;&lt;code&gt;equal&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#random_bytes"&gt;&lt;code&gt;random_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#token"&gt;&lt;code&gt;token&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#hash_password_argon2id"&gt;&lt;code&gt;hash_password_argon2id&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#hash_password"&gt;&lt;code&gt;hash_password&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#verify_password"&gt;&lt;code&gt;verify_password&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#ed25519_public_key"&gt;&lt;code&gt;ed25519_public_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#ed25519_sign"&gt;&lt;code&gt;ed25519_sign&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#ed25519_verify"&gt;&lt;code&gt;ed25519_verify&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#digest"&gt;&lt;code&gt;digest&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#hmac"&gt;&lt;code&gt;hmac&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#hasher"&gt;&lt;code&gt;hasher&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#hmac_hasher"&gt;&lt;code&gt;hmac_hasher&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#aead_key"&gt;&lt;code&gt;aead_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#hkdf_extract"&gt;&lt;code&gt;hkdf_extract&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#hkdf_expand"&gt;&lt;code&gt;hkdf_expand&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#hkdf"&gt;&lt;code&gt;hkdf&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_public_key"&gt;&lt;code&gt;parse_public_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#marshal_public_key"&gt;&lt;code&gt;marshal_public_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#jwk_public_key"&gt;&lt;code&gt;jwk_public_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_private_key"&gt;&lt;code&gt;parse_private_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#marshal_private_key"&gt;&lt;code&gt;marshal_private_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#ecdsa_private_key"&gt;&lt;code&gt;ecdsa_private_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#pem_decode"&gt;&lt;code&gt;pem_decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#pem_encode"&gt;&lt;code&gt;pem_encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#verify"&gt;&lt;code&gt;verify&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#verify_pss"&gt;&lt;code&gt;verify_pss&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#verify_raw_ecdsa"&gt;&lt;code&gt;verify_raw_ecdsa&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#sign"&gt;&lt;code&gt;sign&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#sign_pss"&gt;&lt;code&gt;sign_pss&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#sign_raw_ecdsa"&gt;&lt;code&gt;sign_raw_ecdsa&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#generate_key"&gt;&lt;code&gt;generate_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="hash"&gt;Hash&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Hash&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Md5&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Sha1&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Sha224&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Sha256&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Sha384&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Sha512&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Sha3_256&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Sha3_512&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The hashes of &lt;code&gt;digest&lt;/code&gt;, &lt;code&gt;hmac&lt;/code&gt;, and &lt;code&gt;Hasher&lt;/code&gt; (decision 0279). Md5 and&#10;Sha1 are broken for collision resistance; they are here for protocols&#10;that require them (HMAC-SHA1 signatures, TOTP, Postgres MD5&#10;authentication, Content-MD5).&lt;/p&gt;</description></item><item><title>std/csv</title><link>https://xolang.dev/docs/stdlib/csv/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/csv/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#csverr"&gt;&lt;code&gt;CsvErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#csverrdisplay"&gt;&lt;code&gt;CsvErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#reader"&gt;&lt;code&gt;Reader&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#readerread"&gt;&lt;code&gt;Reader.read&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#reader"&gt;&lt;code&gt;reader&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_maps"&gt;&lt;code&gt;parse_maps&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#format"&gt;&lt;code&gt;format&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#valid_sep"&gt;&lt;code&gt;valid_sep&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#valid_comment"&gt;&lt;code&gt;valid_comment&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="csverr"&gt;CsvErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;CsvErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;start_line&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;column&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Where and why the text is not valid CSV (Go&amp;rsquo;s csv.ParseError):&#10;the line the record starts on, the line and 1-based byte column of the&#10;error, and Go&amp;rsquo;s message (&lt;code&gt;bare &amp;quot; in non-quoted-field&lt;/code&gt;, &lt;code&gt;extraneous or missing &amp;quot; in quoted-field&lt;/code&gt;, &lt;code&gt;wrong number of fields&lt;/code&gt;). Displays as Go&amp;rsquo;s&#10;Error(): &lt;code&gt;parse error on line 1, column 5: bare &amp;quot; in non-quoted-field&lt;/code&gt;,&#10;&lt;code&gt;record on line 2; parse error on line 3, column 1: ...&lt;/code&gt;, &lt;code&gt;record on line 4: wrong number of fields&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>std/debug</title><link>https://xolang.dev/docs/stdlib/debug/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/debug/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;fn &lt;a href="#router"&gt;&lt;code&gt;router&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#heap_start"&gt;&lt;code&gt;heap_start&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#mem_budget"&gt;&lt;code&gt;mem_budget&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#mem_label"&gt;&lt;code&gt;mem_label&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#mem_mapped"&gt;&lt;code&gt;mem_mapped&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#mem_peak"&gt;&lt;code&gt;mem_peak&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#mem_total"&gt;&lt;code&gt;mem_total&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#mem_trim"&gt;&lt;code&gt;mem_trim&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="router"&gt;router&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;router&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;clock&lt;/span&gt;: &lt;span class="nc"&gt;Clock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;auth&lt;/span&gt;: &lt;span class="nc"&gt;fn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Router&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;uses&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;clock&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The router of the debug routes, to mount under a prefix of the&#10;server&amp;rsquo;s own (&lt;code&gt;r.mount(&amp;quot;/debug&amp;quot;, debug.router(clock, auth))&lt;/code&gt;):&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;GET /profile?seconds=N&amp;amp;hz=H&lt;/code&gt;: a CPU profile of the next N seconds&#10;(default 30, at most 300) at H samples per second of CPU time&#10;(default 100, at most 1000), answered as decision 0240&amp;rsquo;s container&#10;(&lt;code&gt;Content-Type: application/x-xo-profile&lt;/code&gt;; &lt;code&gt;xo prof URL&lt;/code&gt; converts it&#10;to pprof files and a text summary). One profile runs at a time (409&#10;while one does); 501 where profiles cannot be taken (a build without&#10;&lt;code&gt;--profile-support&lt;/code&gt;, windows, wasm). On the Go backend the answer is&#10;a pprof profile of Go&amp;rsquo;s runtime/pprof.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;GET /heap&lt;/code&gt;: the sampled heap profile, in the same container; 409&#10;until the sampler runs (&lt;code&gt;XO_PROF=heap&lt;/code&gt;, or &lt;code&gt;heap_start()&lt;/code&gt;).&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;GET /sched&lt;/code&gt;: the scheduler&amp;rsquo;s counters as &lt;code&gt;name value&lt;/code&gt; lines (the&#10;counts of &lt;code&gt;XO_RTSTATS&lt;/code&gt;, zero until they are on: &lt;code&gt;?on=1&lt;/code&gt; turns them&#10;on), and on the native backends &lt;code&gt;heap_live&lt;/code&gt;, the blocks allocated&#10;and not yet freed, when the heap counts (&lt;code&gt;XO_LEAKCHECK&lt;/code&gt;,&#10;&lt;code&gt;XO_HEAPSTATS&lt;/code&gt; or &lt;code&gt;XO_RTSTATS&lt;/code&gt; at start), and on Linux and macOS&#10;&lt;code&gt;fds_open&lt;/code&gt;, the process&amp;rsquo;s open file descriptors (files, sockets,&#10;pipes, the poller&amp;rsquo;s own), and on the native backends&#10;&lt;code&gt;timers_pending&lt;/code&gt;, the event loop&amp;rsquo;s timers (sleeps, deadlines,&#10;timeouts), &lt;code&gt;heap_chunks&lt;/code&gt;, the 4 MiB chunks the heap&amp;rsquo;s size classes&#10;were carved from, and &lt;code&gt;heap_cache_bytes&lt;/code&gt;, the bytes of freed large&#10;blocks kept mapped for reuse.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;A request for which &lt;code&gt;auth&lt;/code&gt; answers false gets 403.&lt;/p&gt;</description></item><item><title>std/deque</title><link>https://xolang.dev/docs/stdlib/deque/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/deque/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#deque"&gt;&lt;code&gt;Deque&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#dequepush_back"&gt;&lt;code&gt;Deque.push_back&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dequepush_front"&gt;&lt;code&gt;Deque.push_front&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dequepop_front"&gt;&lt;code&gt;Deque.pop_front&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dequepop_back"&gt;&lt;code&gt;Deque.pop_back&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dequefront"&gt;&lt;code&gt;Deque.front&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dequeback"&gt;&lt;code&gt;Deque.back&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dequeget"&gt;&lt;code&gt;Deque.get&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dequelen"&gt;&lt;code&gt;Deque.len&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dequeis_empty"&gt;&lt;code&gt;Deque.is_empty&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dequeto_list"&gt;&lt;code&gt;Deque.to_list&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#new"&gt;&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="deque"&gt;Deque&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Deque&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A double ended queue. A value, as List: a copy shares the elements&#10;until one of them is written, which then copies the ring once (O(n)).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/deque.xo#L10"&gt;Source: &lt;code&gt;std/deque.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="dequepush_back"&gt;Deque.push_back&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;: &lt;span class="nc"&gt;Deque&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;push_back&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;: &lt;span class="nc"&gt;T&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/deque.xo#L13"&gt;Source: &lt;code&gt;std/deque.xo:13&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="dequepush_front"&gt;Deque.push_front&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;: &lt;span class="nc"&gt;Deque&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;push_front&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;: &lt;span class="nc"&gt;T&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/deque.xo#L14"&gt;Source: &lt;code&gt;std/deque.xo:14&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="dequepop_front"&gt;Deque.pop_front&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;: &lt;span class="nc"&gt;Deque&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pop_front&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;T&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The first element, removed; None when empty.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/deque.xo#L16"&gt;Source: &lt;code&gt;std/deque.xo:16&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="dequepop_back"&gt;Deque.pop_back&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;: &lt;span class="nc"&gt;Deque&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pop_back&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;T&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The last element, removed; None when empty.&lt;/p&gt;</description></item><item><title>std/dns</title><link>https://xolang.dev/docs/stdlib/dns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/dns/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#mx"&gt;&lt;code&gt;Mx&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#srv"&gt;&lt;code&gt;Srv&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#resolver"&gt;&lt;code&gt;Resolver&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#resolverlookup_mx"&gt;&lt;code&gt;Resolver.lookup_mx&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#resolverlookup_txt"&gt;&lt;code&gt;Resolver.lookup_txt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#resolverlookup_srv"&gt;&lt;code&gt;Resolver.lookup_srv&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#resolverlookup_addr"&gt;&lt;code&gt;Resolver.lookup_addr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#lookup_mx"&gt;&lt;code&gt;lookup_mx&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#lookup_txt"&gt;&lt;code&gt;lookup_txt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#lookup_srv"&gt;&lt;code&gt;lookup_srv&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#lookup_addr"&gt;&lt;code&gt;lookup_addr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="mx"&gt;Mx&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Mx&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;host&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pref&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A mail exchanger (Go&amp;rsquo;s net.MX): its host, rooted (&amp;ldquo;mx1.example.com.&amp;rdquo;),&#10;and its preference (lower first).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/dns.xo#L9"&gt;Source: &lt;code&gt;std/dns.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="srv"&gt;Srv&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Srv&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;target&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;port&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;priority&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;weight&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A service location (Go&amp;rsquo;s net.SRV): the target host (rooted), its port,&#10;priority (lower first) and weight (a share within one priority).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/dns.xo#L16"&gt;Source: &lt;code&gt;std/dns.xo:16&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/embed</title><link>https://xolang.dev/docs/stdlib/embed/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/embed/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#dir"&gt;&lt;code&gt;Dir&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#dirread"&gt;&lt;code&gt;Dir.read&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dirread_text"&gt;&lt;code&gt;Dir.read_text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dircontains"&gt;&lt;code&gt;Dir.contains&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dirpaths"&gt;&lt;code&gt;Dir.paths&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dirsub"&gt;&lt;code&gt;Dir.sub&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dirlen"&gt;&lt;code&gt;Dir.len&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dirfs"&gt;&lt;code&gt;Dir.fs&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="dir"&gt;Dir&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Dir&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;: &lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Files embedded at build time, keyed by their slash path relative to&#10;the directory of the file that declares the constant.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/embed.xo#L9"&gt;Source: &lt;code&gt;std/embed.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="dirread"&gt;Dir.read&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;: &lt;span class="nc"&gt;Dir&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;read&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The bytes of the file at path, or None.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/embed.xo#L14"&gt;Source: &lt;code&gt;std/embed.xo:14&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="dirread_text"&gt;Dir.read_text&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;: &lt;span class="nc"&gt;Dir&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;read_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The text of the file at path, or None when there is none or it is not&#10;valid UTF-8.&lt;/p&gt;</description></item><item><title>std/fnv</title><link>https://xolang.dev/docs/stdlib/fnv/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/fnv/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;fn &lt;a href="#sum32"&gt;&lt;code&gt;sum32&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#sum32a"&gt;&lt;code&gt;sum32a&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#sum64"&gt;&lt;code&gt;sum64&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#sum64a"&gt;&lt;code&gt;sum64a&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#sum128"&gt;&lt;code&gt;sum128&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#sum128a"&gt;&lt;code&gt;sum128a&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#update32"&gt;&lt;code&gt;update32&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#update32a"&gt;&lt;code&gt;update32a&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#update64"&gt;&lt;code&gt;update64&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#update64a"&gt;&lt;code&gt;update64a&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#update128"&gt;&lt;code&gt;update128&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#update128a"&gt;&lt;code&gt;update128a&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="sum32"&gt;sum32&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;sum32&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;FNV-1 of data, 0 to 2^32 - 1 (Go&amp;rsquo;s New32().Sum32()).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/fnv.xo#L8"&gt;Source: &lt;code&gt;std/fnv.xo:8&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="sum32a"&gt;sum32a&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;sum32a&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;FNV-1a of data, 0 to 2^32 - 1 (Go&amp;rsquo;s New32a).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/fnv.xo#L10"&gt;Source: &lt;code&gt;std/fnv.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="sum64"&gt;sum64&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;sum64&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;FNV-1 of data, 64 bits: the Int&amp;rsquo;s bits are Go&amp;rsquo;s uint64, so a sum past&#10;2^63 is negative (Go&amp;rsquo;s New64).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/fnv.xo#L13"&gt;Source: &lt;code&gt;std/fnv.xo:13&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="sum64a"&gt;sum64a&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;sum64a&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;FNV-1a of data, 64 bits as sum64 (Go&amp;rsquo;s New64a).&lt;/p&gt;</description></item><item><title>std/go</title><link>https://xolang.dev/docs/stdlib/go/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/go/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#error"&gt;&lt;code&gt;Error&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#errordisplay"&gt;&lt;code&gt;Error.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#errormessage"&gt;&lt;code&gt;Error.message&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#errorgo_type"&gt;&lt;code&gt;Error.go_type&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#any"&gt;&lt;code&gt;Any&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#anydisplay"&gt;&lt;code&gt;Any.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#anytype_name"&gt;&lt;code&gt;Any.type_name&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#anyis_nil"&gt;&lt;code&gt;Any.is_nil&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#anyas_int"&gt;&lt;code&gt;Any.as_int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#anyas_float"&gt;&lt;code&gt;Any.as_float&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#anyas_bool"&gt;&lt;code&gt;Any.as_bool&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#anyas_str"&gt;&lt;code&gt;Any.as_str&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#anyas_bytes"&gt;&lt;code&gt;Any.as_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#anyas_list"&gt;&lt;code&gt;Any.as_list&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#anyas_map"&gt;&lt;code&gt;Any.as_map&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#anyas_handle"&gt;&lt;code&gt;Any.as_handle&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#out"&gt;&lt;code&gt;Out&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#outany"&gt;&lt;code&gt;Out.any&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#outget"&gt;&lt;code&gt;Out.get&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#recv"&gt;&lt;code&gt;Recv&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#recvrecv"&gt;&lt;code&gt;Recv.recv&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#recvtry_recv"&gt;&lt;code&gt;Recv.try_recv&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#recveach"&gt;&lt;code&gt;Recv.each&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#error"&gt;&lt;code&gt;error&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#any"&gt;&lt;code&gt;any&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#out"&gt;&lt;code&gt;out&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="error"&gt;Error&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;An error returned by a Go function: the &lt;code&gt;error&lt;/code&gt; of a Go &lt;code&gt;(T, error)&lt;/code&gt;&#10;result, which a binding maps to &lt;code&gt;T ! go.Error&lt;/code&gt;. Its text is captured at&#10;the boundary, so &lt;code&gt;display&lt;/code&gt; performs no Go call.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/go.xo#L10"&gt;Source: &lt;code&gt;std/go.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="errordisplay"&gt;Error.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The Go error&amp;rsquo;s &lt;code&gt;Error()&lt;/code&gt; text.&lt;/p&gt;</description></item><item><title>std/grpc</title><link>https://xolang.dev/docs/stdlib/grpc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/grpc/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#code"&gt;&lt;code&gt;Code&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#codenumber"&gt;&lt;code&gt;Code.number&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#frameerr"&gt;&lt;code&gt;FrameErr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#status"&gt;&lt;code&gt;Status&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#statusdisplay"&gt;&lt;code&gt;Status.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#call"&gt;&lt;code&gt;Call&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#recvstate"&gt;&lt;code&gt;RecvState&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#recv"&gt;&lt;code&gt;Recv&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#recvnext"&gt;&lt;code&gt;Recv.next&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#send"&gt;&lt;code&gt;Send&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#sendsend"&gt;&lt;code&gt;Send.send&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#sendset_trailer"&gt;&lt;code&gt;Send.set_trailer&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#server"&gt;&lt;code&gt;Server&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#serverwith_max_recv"&gt;&lt;code&gt;Server.with_max_recv&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serverunary"&gt;&lt;code&gt;Server.unary&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serverstream"&gt;&lt;code&gt;Server.stream&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serverrouter"&gt;&lt;code&gt;Server.router&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#client"&gt;&lt;code&gt;Client&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#clientwith_gzip"&gt;&lt;code&gt;Client.with_gzip&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientunary"&gt;&lt;code&gt;Client.unary&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientcall"&gt;&lt;code&gt;Client.call&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#clientcall"&gt;&lt;code&gt;ClientCall&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#clientcallsend"&gt;&lt;code&gt;ClientCall.send&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientcallclose_send"&gt;&lt;code&gt;ClientCall.close_send&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientcallrecv"&gt;&lt;code&gt;ClientCall.recv&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#callstate"&gt;&lt;code&gt;CallState&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#code_from"&gt;&lt;code&gt;code_from&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#frame"&gt;&lt;code&gt;frame&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unframe"&gt;&lt;code&gt;unframe&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_timeout"&gt;&lt;code&gt;encode_timeout&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_timeout"&gt;&lt;code&gt;decode_timeout&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_message"&gt;&lt;code&gt;encode_message&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_message_bytes"&gt;&lt;code&gt;encode_message_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_message"&gt;&lt;code&gt;decode_message&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_message_bytes"&gt;&lt;code&gt;decode_message_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#bin_encode"&gt;&lt;code&gt;bin_encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#bin_decode"&gt;&lt;code&gt;bin_decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#server"&gt;&lt;code&gt;server&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#client"&gt;&lt;code&gt;client&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="code"&gt;Code&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Code&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Ok&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Canceled&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Unknown&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;InvalidArgument&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DeadlineExceeded&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;NotFound&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;AlreadyExists&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PermissionDenied&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ResourceExhausted&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FailedPrecondition&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Aborted&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;OutOfRange&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Unimplemented&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Internal&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Unavailable&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DataLoss&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Unauthenticated&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The 17 canonical status codes (their numbers are the wire values of &lt;code&gt;grpc-status&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>std/heap</title><link>https://xolang.dev/docs/stdlib/heap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/heap/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#heap"&gt;&lt;code&gt;Heap&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#heappush"&gt;&lt;code&gt;Heap.push&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#heappop"&gt;&lt;code&gt;Heap.pop&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#heappeek"&gt;&lt;code&gt;Heap.peek&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#heapget"&gt;&lt;code&gt;Heap.get&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#heapremove"&gt;&lt;code&gt;Heap.remove&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#heapfix"&gt;&lt;code&gt;Heap.fix&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#heaplen"&gt;&lt;code&gt;Heap.len&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#heapis_empty"&gt;&lt;code&gt;Heap.is_empty&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#heapto_list"&gt;&lt;code&gt;Heap.to_list&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#new"&gt;&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#tracked"&gt;&lt;code&gt;tracked&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#from_list"&gt;&lt;code&gt;from_list&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="heap"&gt;Heap&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_items&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_less&lt;/span&gt;: &lt;span class="nc"&gt;fn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_moved&lt;/span&gt;: &lt;span class="nc"&gt;fn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A binary heap: the element for which &lt;code&gt;less&lt;/code&gt; holds against all others&#10;comes out first. A value, as List: a copy shares the elements until one&#10;of them is written. Equal elements come out in no particular order.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/heap.xo#L11"&gt;Source: &lt;code&gt;std/heap.xo:11&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="heappush"&gt;Heap.push&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;: &lt;span class="nc"&gt;Heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;: &lt;span class="nc"&gt;T&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Adds x in O(log n) (heap.Push).&lt;/p&gt;</description></item><item><title>std/html</title><link>https://xolang.dev/docs/stdlib/html/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/html/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;fn &lt;a href="#escape_string"&gt;&lt;code&gt;escape_string&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unescape_string"&gt;&lt;code&gt;unescape_string&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="escape_string"&gt;escape_string&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;escape_string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;html.EscapeString: &lt;code&gt;&amp;lt;&lt;/code&gt;, &lt;code&gt;&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;amp;&lt;/code&gt;, &lt;code&gt;'&lt;/code&gt; and &lt;code&gt;&amp;quot;&lt;/code&gt; as &lt;code&gt;&amp;amp;lt;&lt;/code&gt;, &lt;code&gt;&amp;amp;gt;&lt;/code&gt;,&#10;&lt;code&gt;&amp;amp;amp;&lt;/code&gt;, &lt;code&gt;&amp;amp;#39;&lt;/code&gt; and &lt;code&gt;&amp;amp;#34;&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/html.xo#L9"&gt;Source: &lt;code&gt;std/html.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="unescape_string"&gt;unescape_string&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;unescape_string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;html.UnescapeString: every entity reference unescaped (named, the&#10;legacy names without a semicolon such as &lt;code&gt;&amp;amp;amp&lt;/code&gt; and &lt;code&gt;&amp;amp;copy&lt;/code&gt;, decimal&#10;&lt;code&gt;&amp;amp;#916;&lt;/code&gt; and hexadecimal &lt;code&gt;&amp;amp;#x3bb;&lt;/code&gt; numeric references, the C1 control&#10;code points replaced as browsers do, invalid ones as U+FFFD);&#10;&lt;code&gt;unescape_string(escape_string(s)) == s&lt;/code&gt; always, the converse not.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/html.xo#L15"&gt;Source: &lt;code&gt;std/html.xo:15&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/htmlent</title><link>https://xolang.dev/docs/stdlib/htmlent/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/htmlent/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;fn &lt;a href="#entity_of"&gt;&lt;code&gt;entity_of&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#entity2_of"&gt;&lt;code&gt;entity2_of&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="entity_of"&gt;entity_of&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;entity_of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The character of an entity name without &lt;code&gt;&amp;amp;&lt;/code&gt;, &amp;quot;&amp;quot; for none (&lt;code&gt;amp;&lt;/code&gt; and the semicolon-less forms of Go&amp;rsquo;s table).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/htmlent.xo#L6"&gt;Source: &lt;code&gt;std/htmlent.xo:6&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="entity2_of"&gt;entity2_of&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;entity2_of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The two character expansion of an entity name, &amp;quot;&amp;quot; for none.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/htmlent.xo#L9"&gt;Source: &lt;code&gt;std/htmlent.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/htmltok</title><link>https://xolang.dev/docs/stdlib/htmltok/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/htmltok/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#tokentype"&gt;&lt;code&gt;TokenType&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#attribute"&gt;&lt;code&gt;Attribute&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#token"&gt;&lt;code&gt;Token&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#pend"&gt;&lt;code&gt;Pend&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#tokenizer"&gt;&lt;code&gt;Tokenizer&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#tokenizernext"&gt;&lt;code&gt;Tokenizer.next&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenizertoken"&gt;&lt;code&gt;Tokenizer.token&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenizerraw"&gt;&lt;code&gt;Tokenizer.raw&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenizererr"&gt;&lt;code&gt;Tokenizer.err&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenizerallow_cdata"&gt;&lt;code&gt;Tokenizer.allow_cdata&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenizernext_is_not_raw_text"&gt;&lt;code&gt;Tokenizer.next_is_not_raw_text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenizerset_max_buf"&gt;&lt;code&gt;Tokenizer.set_max_buf&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenizerbuffered"&gt;&lt;code&gt;Tokenizer.buffered&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#tokenizer"&gt;&lt;code&gt;tokenizer&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#tokenizer_fragment"&gt;&lt;code&gt;tokenizer_fragment&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="tokentype"&gt;TokenType&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;TokenType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;StartTag&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;EndTag&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SelfClosingTag&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Comment&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Doctype&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Eq&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Go&amp;rsquo;s TokenType.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/htmltok.xo#L10"&gt;Source: &lt;code&gt;std/htmltok.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="attribute"&gt;Attribute&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Attribute&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;val&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Eq&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Go&amp;rsquo;s Attribute without its namespace (the tokenizer never sets one): the&#10;key lower cased, the value unescaped.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/htmltok.xo#L22"&gt;Source: &lt;code&gt;std/htmltok.xo:22&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="token"&gt;Token&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Token&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;typ&lt;/span&gt;: &lt;span class="nc"&gt;TokenType&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attrs&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Attribute&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Eq&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Go&amp;rsquo;s Token: &lt;code&gt;data&lt;/code&gt; is the lower cased tag name of a tag, the unescaped text&#10;of a text, comment or doctype; &lt;code&gt;attrs&lt;/code&gt; are a tag&amp;rsquo;s attributes in order,&#10;duplicates (by lower cased key) and empty keys dropped.&lt;/p&gt;</description></item><item><title>std/http</title><link>https://xolang.dev/docs/stdlib/http/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/http/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;const &lt;a href="#continue"&gt;&lt;code&gt;CONTINUE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#switching_protocols"&gt;&lt;code&gt;SWITCHING_PROTOCOLS&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#processing"&gt;&lt;code&gt;PROCESSING&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#early_hints"&gt;&lt;code&gt;EARLY_HINTS&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#ok"&gt;&lt;code&gt;OK&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#created"&gt;&lt;code&gt;CREATED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#accepted"&gt;&lt;code&gt;ACCEPTED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#non_authoritative_info"&gt;&lt;code&gt;NON_AUTHORITATIVE_INFO&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#no_content"&gt;&lt;code&gt;NO_CONTENT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#reset_content"&gt;&lt;code&gt;RESET_CONTENT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#partial_content"&gt;&lt;code&gt;PARTIAL_CONTENT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#multi_status"&gt;&lt;code&gt;MULTI_STATUS&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#already_reported"&gt;&lt;code&gt;ALREADY_REPORTED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#im_used"&gt;&lt;code&gt;IM_USED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#multiple_choices"&gt;&lt;code&gt;MULTIPLE_CHOICES&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#moved_permanently"&gt;&lt;code&gt;MOVED_PERMANENTLY&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#found"&gt;&lt;code&gt;FOUND&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#see_other"&gt;&lt;code&gt;SEE_OTHER&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#not_modified"&gt;&lt;code&gt;NOT_MODIFIED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#use_proxy"&gt;&lt;code&gt;USE_PROXY&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#temporary_redirect"&gt;&lt;code&gt;TEMPORARY_REDIRECT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#permanent_redirect"&gt;&lt;code&gt;PERMANENT_REDIRECT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#bad_request"&gt;&lt;code&gt;BAD_REQUEST&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#unauthorized"&gt;&lt;code&gt;UNAUTHORIZED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#payment_required"&gt;&lt;code&gt;PAYMENT_REQUIRED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#forbidden"&gt;&lt;code&gt;FORBIDDEN&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#not_found"&gt;&lt;code&gt;NOT_FOUND&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#method_not_allowed"&gt;&lt;code&gt;METHOD_NOT_ALLOWED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#not_acceptable"&gt;&lt;code&gt;NOT_ACCEPTABLE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#proxy_auth_required"&gt;&lt;code&gt;PROXY_AUTH_REQUIRED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#request_timeout"&gt;&lt;code&gt;REQUEST_TIMEOUT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#conflict"&gt;&lt;code&gt;CONFLICT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#gone"&gt;&lt;code&gt;GONE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#length_required"&gt;&lt;code&gt;LENGTH_REQUIRED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#precondition_failed"&gt;&lt;code&gt;PRECONDITION_FAILED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#request_entity_too_large"&gt;&lt;code&gt;REQUEST_ENTITY_TOO_LARGE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#request_uri_too_long"&gt;&lt;code&gt;REQUEST_URI_TOO_LONG&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#unsupported_media_type"&gt;&lt;code&gt;UNSUPPORTED_MEDIA_TYPE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#requested_range_not_satisfiable"&gt;&lt;code&gt;REQUESTED_RANGE_NOT_SATISFIABLE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#expectation_failed"&gt;&lt;code&gt;EXPECTATION_FAILED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#teapot"&gt;&lt;code&gt;TEAPOT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#misdirected_request"&gt;&lt;code&gt;MISDIRECTED_REQUEST&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#unprocessable_entity"&gt;&lt;code&gt;UNPROCESSABLE_ENTITY&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#locked"&gt;&lt;code&gt;LOCKED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#failed_dependency"&gt;&lt;code&gt;FAILED_DEPENDENCY&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#too_early"&gt;&lt;code&gt;TOO_EARLY&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#upgrade_required"&gt;&lt;code&gt;UPGRADE_REQUIRED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#precondition_required"&gt;&lt;code&gt;PRECONDITION_REQUIRED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#too_many_requests"&gt;&lt;code&gt;TOO_MANY_REQUESTS&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#request_header_fields_too_large"&gt;&lt;code&gt;REQUEST_HEADER_FIELDS_TOO_LARGE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#unavailable_for_legal_reasons"&gt;&lt;code&gt;UNAVAILABLE_FOR_LEGAL_REASONS&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#internal_server_error"&gt;&lt;code&gt;INTERNAL_SERVER_ERROR&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#not_implemented"&gt;&lt;code&gt;NOT_IMPLEMENTED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#bad_gateway"&gt;&lt;code&gt;BAD_GATEWAY&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#service_unavailable"&gt;&lt;code&gt;SERVICE_UNAVAILABLE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#gateway_timeout"&gt;&lt;code&gt;GATEWAY_TIMEOUT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#http_version_not_supported"&gt;&lt;code&gt;HTTP_VERSION_NOT_SUPPORTED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#variant_also_negotiates"&gt;&lt;code&gt;VARIANT_ALSO_NEGOTIATES&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#insufficient_storage"&gt;&lt;code&gt;INSUFFICIENT_STORAGE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#loop_detected"&gt;&lt;code&gt;LOOP_DETECTED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#not_extended"&gt;&lt;code&gt;NOT_EXTENDED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#network_authentication_required"&gt;&lt;code&gt;NETWORK_AUTHENTICATION_REQUIRED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#router"&gt;&lt;code&gt;Router&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#routerhandle"&gt;&lt;code&gt;Router.handle&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#routerhandle_stream"&gt;&lt;code&gt;Router.handle_stream&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#routerwrap"&gt;&lt;code&gt;Router.wrap&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#routermount"&gt;&lt;code&gt;Router.mount&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#routernot_found"&gt;&lt;code&gt;Router.not_found&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#routermethod_not_allowed"&gt;&lt;code&gt;Router.method_not_allowed&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#routercall"&gt;&lt;code&gt;Router.call&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#next"&gt;&lt;code&gt;Next&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#status"&gt;&lt;code&gt;Status&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#statuserror"&gt;&lt;code&gt;StatusError&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#request"&gt;&lt;code&gt;Request&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#requestparam"&gt;&lt;code&gt;Request.param&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestparam_opt"&gt;&lt;code&gt;Request.param_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestparam_int"&gt;&lt;code&gt;Request.param_int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestquery"&gt;&lt;code&gt;Request.query&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestquery_all"&gt;&lt;code&gt;Request.query_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestform"&gt;&lt;code&gt;Request.form&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestmultipart_form"&gt;&lt;code&gt;Request.multipart_form&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestheader"&gt;&lt;code&gt;Request.header&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestjson"&gt;&lt;code&gt;Request.json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestwith_header"&gt;&lt;code&gt;Request.with_header&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestwith_timeout"&gt;&lt;code&gt;Request.with_timeout&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestwith_host"&gt;&lt;code&gt;Request.with_host&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestwith_expect_continue"&gt;&lt;code&gt;Request.with_expect_continue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestwith_idle_timeout"&gt;&lt;code&gt;Request.with_idle_timeout&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestwith_body_reader"&gt;&lt;code&gt;Request.with_body_reader&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestwith_trailers"&gt;&lt;code&gt;Request.with_trailers&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestheader_values"&gt;&lt;code&gt;Request.header_values&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requesthost"&gt;&lt;code&gt;Request.host&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requesttls"&gt;&lt;code&gt;Request.tls&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requesttls_state"&gt;&lt;code&gt;Request.tls_state&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestraw_query"&gt;&lt;code&gt;Request.raw_query&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestescaped_path"&gt;&lt;code&gt;Request.escaped_path&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestadd_header"&gt;&lt;code&gt;Request.add_header&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestclient_ip"&gt;&lt;code&gt;Request.client_ip&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestwith_value"&gt;&lt;code&gt;Request.with_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestvalue"&gt;&lt;code&gt;Request.value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestcookie"&gt;&lt;code&gt;Request.cookie&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestcookies"&gt;&lt;code&gt;Request.cookies&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#requestwith_cookie"&gt;&lt;code&gt;Request.with_cookie&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#proxyheader"&gt;&lt;code&gt;ProxyHeader&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#tlsstate"&gt;&lt;code&gt;TlsState&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#cookie"&gt;&lt;code&gt;Cookie&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#cookiedisplay"&gt;&lt;code&gt;Cookie.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#samesite"&gt;&lt;code&gt;SameSite&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#cookieerr"&gt;&lt;code&gt;CookieErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#cookieerrdisplay"&gt;&lt;code&gt;CookieErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#key"&gt;&lt;code&gt;Key&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#keyname"&gt;&lt;code&gt;Key.name&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#response"&gt;&lt;code&gt;Response&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#responsewith_trailer_names"&gt;&lt;code&gt;Response.with_trailer_names&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#responsewith_full_duplex"&gt;&lt;code&gt;Response.with_full_duplex&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#responsewith_header"&gt;&lt;code&gt;Response.with_header&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#responseheader"&gt;&lt;code&gt;Response.header&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#responseheader_values"&gt;&lt;code&gt;Response.header_values&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#responseadd_header"&gt;&lt;code&gt;Response.add_header&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#responsewith_cookie"&gt;&lt;code&gt;Response.with_cookie&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#responsecookies"&gt;&lt;code&gt;Response.cookies&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#responsetext"&gt;&lt;code&gt;Response.text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#responsedecode_json"&gt;&lt;code&gt;Response.decode_json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#bodyreader"&gt;&lt;code&gt;BodyReader&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#bodyreaderread"&gt;&lt;code&gt;BodyReader.read&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bodyreaderread_all"&gt;&lt;code&gt;BodyReader.read_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bodyreadermultipart"&gt;&lt;code&gt;BodyReader.multipart&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bodyreadertrailers"&gt;&lt;code&gt;BodyReader.trailers&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#partreader"&gt;&lt;code&gt;PartReader&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#partreadernext"&gt;&lt;code&gt;PartReader.next&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#partreaderread"&gt;&lt;code&gt;PartReader.read&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#streampart"&gt;&lt;code&gt;StreamPart&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#streampartheader_values"&gt;&lt;code&gt;StreamPart.header_values&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#bodywriter"&gt;&lt;code&gt;BodyWriter&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#bodywriterwrite"&gt;&lt;code&gt;BodyWriter.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bodywriterflush"&gt;&lt;code&gt;BodyWriter.flush&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#bodywriterset_trailer"&gt;&lt;code&gt;BodyWriter.set_trailer&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#pipewriter"&gt;&lt;code&gt;PipeWriter&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#pipewriterwrite"&gt;&lt;code&gt;PipeWriter.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#pipewriterclose"&gt;&lt;code&gt;PipeWriter.close&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#pipewriterclose_with_error"&gt;&lt;code&gt;PipeWriter.close_with_error&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#server"&gt;&lt;code&gt;Server&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#serverserve"&gt;&lt;code&gt;Server.serve&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serveraddr"&gt;&lt;code&gt;Server.addr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serverwith_tls"&gt;&lt;code&gt;Server.with_tls&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serverwith_client_auth"&gt;&lt;code&gt;Server.with_client_auth&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serverwith_read_timeout"&gt;&lt;code&gt;Server.with_read_timeout&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serverwith_read_header_timeout"&gt;&lt;code&gt;Server.with_read_header_timeout&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serverwith_idle_timeout"&gt;&lt;code&gt;Server.with_idle_timeout&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serverwith_max_header_bytes"&gt;&lt;code&gt;Server.with_max_header_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serverwith_max_body"&gt;&lt;code&gt;Server.with_max_body&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serverwith_protocols"&gt;&lt;code&gt;Server.with_protocols&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#serverwith_h2_config"&gt;&lt;code&gt;Server.with_h2_config&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#protocol"&gt;&lt;code&gt;Protocol&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#h2config"&gt;&lt;code&gt;H2Config&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#tlscert"&gt;&lt;code&gt;TlsCert&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#tlserr"&gt;&lt;code&gt;TlsErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#tlserrdisplay"&gt;&lt;code&gt;TlsErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#httperr"&gt;&lt;code&gt;HttpErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#httperrdisplay"&gt;&lt;code&gt;HttpErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#client"&gt;&lt;code&gt;Client&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#clientget"&gt;&lt;code&gt;Client.get&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientsend"&gt;&lt;code&gt;Client.send&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientpost_json"&gt;&lt;code&gt;Client.post_json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientwith_roots"&gt;&lt;code&gt;Client.with_roots&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientwith_server_name"&gt;&lt;code&gt;Client.with_server_name&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientwith_verify_conn"&gt;&lt;code&gt;Client.with_verify_conn&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientwith_verify"&gt;&lt;code&gt;Client.with_verify&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clienttls_options"&gt;&lt;code&gt;Client.tls_options&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientwith_cert"&gt;&lt;code&gt;Client.with_cert&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientwith_protocols"&gt;&lt;code&gt;Client.with_protocols&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientwith_h2_config"&gt;&lt;code&gt;Client.with_h2_config&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientopen"&gt;&lt;code&gt;Client.open&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientwith_redirects"&gt;&lt;code&gt;Client.with_redirects&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#tlsoptions"&gt;&lt;code&gt;TlsOptions&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#reverseproxy"&gt;&lt;code&gt;ReverseProxy&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#reverseproxywith_rewrite"&gt;&lt;code&gt;ReverseProxy.with_rewrite&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#reverseproxyserve"&gt;&lt;code&gt;ReverseProxy.serve&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#responsehead"&gt;&lt;code&gt;ResponseHead&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#clientstream"&gt;&lt;code&gt;ClientStream&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#clientstreamhead"&gt;&lt;code&gt;ClientStream.head&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientstreamread"&gt;&lt;code&gt;ClientStream.read&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientstreamread_all"&gt;&lt;code&gt;ClientStream.read_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientstreamclose"&gt;&lt;code&gt;ClientStream.close&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#clientstreamtrailers"&gt;&lt;code&gt;ClientStream.trailers&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#clienterr"&gt;&lt;code&gt;ClientErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#clienterrdisplay"&gt;&lt;code&gt;ClientErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#url"&gt;&lt;code&gt;Url&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#urlerr"&gt;&lt;code&gt;UrlErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#urlerrdisplay"&gt;&lt;code&gt;UrlErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#router"&gt;&lt;code&gt;router&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#serve_component"&gt;&lt;code&gt;serve_component&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_cookie"&gt;&lt;code&gt;parse_cookie&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_set_cookie"&gt;&lt;code&gt;parse_set_cookie&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#key"&gt;&lt;code&gt;key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#new_request"&gt;&lt;code&gt;new_request&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#json"&gt;&lt;code&gt;json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#serve_content"&gt;&lt;code&gt;serve_content&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#text"&gt;&lt;code&gt;text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#empty"&gt;&lt;code&gt;empty&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#redirect"&gt;&lt;code&gt;redirect&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#status_text"&gt;&lt;code&gt;status_text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#error_page"&gt;&lt;code&gt;error_page&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#not_found"&gt;&lt;code&gt;not_found&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#error_html"&gt;&lt;code&gt;error_html&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#stream"&gt;&lt;code&gt;stream&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#pipe"&gt;&lt;code&gt;pipe&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#server"&gt;&lt;code&gt;server&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#max_body"&gt;&lt;code&gt;max_body&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#tls_cert"&gt;&lt;code&gt;tls_cert&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#client"&gt;&lt;code&gt;client&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#reverse_proxy"&gt;&lt;code&gt;reverse_proxy&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_url"&gt;&lt;code&gt;parse_url&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#gzip_responses"&gt;&lt;code&gt;gzip_responses&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="continue"&gt;CONTINUE&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;CONTINUE&lt;/span&gt;: &lt;span class="nc"&gt;Status&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Status&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The codes Go&amp;rsquo;s net/http names (std.md 4).&lt;/p&gt;</description></item><item><title>std/idna</title><link>https://xolang.dev/docs/stdlib/idna/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/idna/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#idnaerr"&gt;&lt;code&gt;IdnaErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#idnaerrdisplay"&gt;&lt;code&gt;IdnaErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#profile"&gt;&lt;code&gt;Profile&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unicode_version"&gt;&lt;code&gt;unicode_version&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_ascii"&gt;&lt;code&gt;to_ascii&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_unicode"&gt;&lt;code&gt;to_unicode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="idnaerr"&gt;IdnaErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;IdnaErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;code&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Why a name was rejected. &lt;code&gt;code&lt;/code&gt; is the UTS 46 status code x/net/idna&#10;reports (&lt;code&gt;P1&lt;/code&gt; a disallowed rune, &lt;code&gt;V2&lt;/code&gt; and &lt;code&gt;V3&lt;/code&gt; hyphens, &lt;code&gt;C&lt;/code&gt; a joiner, &lt;code&gt;B&lt;/code&gt;&#10;the Bidi rule, &lt;code&gt;A3&lt;/code&gt; and &lt;code&gt;P4&lt;/code&gt; punycode, &lt;code&gt;A4&lt;/code&gt; length, &amp;hellip;) and &lt;code&gt;msg&lt;/code&gt; its text,&#10;for example &lt;code&gt;idna: invalid label &amp;quot;-a&amp;quot;&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/idna.xo#L9"&gt;Source: &lt;code&gt;std/idna.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="idnaerrdisplay"&gt;IdnaErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;IdnaErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/idna.xo#L14"&gt;Source: &lt;code&gt;std/idna.xo:14&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="profile"&gt;Profile&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Profile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Lookup&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Registration&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Punycode&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;x/net/idna&amp;rsquo;s profiles.&lt;/p&gt;</description></item><item><title>std/jpeg</title><link>https://xolang.dev/docs/stdlib/jpeg/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/jpeg/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#model"&gt;&lt;code&gt;Model&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#subsample"&gt;&lt;code&gt;Subsample&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#image"&gt;&lt;code&gt;Image&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#imagechroma_width"&gt;&lt;code&gt;Image.chroma_width&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#imagechroma_height"&gt;&lt;code&gt;Image.chroma_height&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#imageto_rgba"&gt;&lt;code&gt;Image.to_rgba&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#config"&gt;&lt;code&gt;Config&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#jpegerr"&gt;&lt;code&gt;JpegErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#jpegerrdisplay"&gt;&lt;code&gt;JpegErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode"&gt;&lt;code&gt;decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_config"&gt;&lt;code&gt;decode_config&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode"&gt;&lt;code&gt;encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="model"&gt;Model&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Model&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Gray&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;YCbCr&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;CMYK&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;RGBA&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Eq&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The image types image/jpeg decodes to:&#10;Gray (&lt;code&gt;pix&lt;/code&gt;, 1 byte a pixel), YCbCr (the &lt;code&gt;y&lt;/code&gt;, &lt;code&gt;cb&lt;/code&gt; and &lt;code&gt;cr&lt;/code&gt; planes with&#10;the chroma &lt;code&gt;subsample&lt;/code&gt; ratio), CMYK (&lt;code&gt;pix&lt;/code&gt;, 4 bytes a pixel, Go&amp;rsquo;s&#10;image.CMYK: 255 is full ink) and RGBA (&lt;code&gt;pix&lt;/code&gt;, 4 bytes a pixel with alpha&#10;255; Go&amp;rsquo;s decoder returns it for an RGB JPEG, one with an Adobe marker&#10;that says RGB or components named R, G and B).&lt;/p&gt;</description></item><item><title>std/json</title><link>https://xolang.dev/docs/stdlib/json/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/json/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#decodeerr"&gt;&lt;code&gt;DecodeErr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#patch"&gt;&lt;code&gt;Patch&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#patchapply_to"&gt;&lt;code&gt;Patch.apply_to&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#patchapply_opt"&gt;&lt;code&gt;Patch.apply_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#value"&gt;&lt;code&gt;Value&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#valueencode"&gt;&lt;code&gt;Value.encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#valueget"&gt;&lt;code&gt;Value.get&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#decoder"&gt;&lt;code&gt;Decoder&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#decoderwrite"&gt;&lt;code&gt;Decoder.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#decoderfinish"&gt;&lt;code&gt;Decoder.finish&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#token"&gt;&lt;code&gt;Token&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#tokenreader"&gt;&lt;code&gt;TokenReader&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#tokenreaderwrite"&gt;&lt;code&gt;TokenReader.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenreaderfinish"&gt;&lt;code&gt;TokenReader.finish&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenreadernext"&gt;&lt;code&gt;TokenReader.next&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenreadermore"&gt;&lt;code&gt;TokenReader.more&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenreaderoffset"&gt;&lt;code&gt;TokenReader.offset&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenreaderskip"&gt;&lt;code&gt;TokenReader.skip&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tokenreadervalue"&gt;&lt;code&gt;TokenReader.value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#jsonwriter"&gt;&lt;code&gt;JsonWriter&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriterobject_start"&gt;&lt;code&gt;JsonWriter.object_start&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriterobject_end"&gt;&lt;code&gt;JsonWriter.object_end&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriterarray_start"&gt;&lt;code&gt;JsonWriter.array_start&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriterarray_end"&gt;&lt;code&gt;JsonWriter.array_end&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriterkey"&gt;&lt;code&gt;JsonWriter.key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriterstr"&gt;&lt;code&gt;JsonWriter.str&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriterint"&gt;&lt;code&gt;JsonWriter.int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriterfloat"&gt;&lt;code&gt;JsonWriter.float&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriternumber"&gt;&lt;code&gt;JsonWriter.number&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriterbool"&gt;&lt;code&gt;JsonWriter.bool&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriternull"&gt;&lt;code&gt;JsonWriter.null&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriterraw"&gt;&lt;code&gt;JsonWriter.raw&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwritervalue"&gt;&lt;code&gt;JsonWriter.value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#jsonwriterfinish"&gt;&lt;code&gt;JsonWriter.finish&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode"&gt;&lt;code&gt;encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_str"&gt;&lt;code&gt;encode_str&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_indent"&gt;&lt;code&gt;encode_indent&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_indent_str"&gt;&lt;code&gt;encode_indent_str&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#indent"&gt;&lt;code&gt;indent&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#compact"&gt;&lt;code&gt;compact&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode"&gt;&lt;code&gt;decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_str"&gt;&lt;code&gt;decode_str&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_value"&gt;&lt;code&gt;to_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_value"&gt;&lt;code&gt;parse_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decoder"&gt;&lt;code&gt;decoder&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#from_value"&gt;&lt;code&gt;from_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#token_reader"&gt;&lt;code&gt;token_reader&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#tokens"&gt;&lt;code&gt;tokens&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#json_writer"&gt;&lt;code&gt;json_writer&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="decodeerr"&gt;DecodeErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;DecodeErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Displays as &amp;ldquo;at $.user.email: expected string&amp;rdquo;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/json.xo#L22"&gt;Source: &lt;code&gt;std/json.xo:22&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="patch"&gt;Patch&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Patch&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Absent&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Null&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;T&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Json&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/json.xo#L30"&gt;Source: &lt;code&gt;std/json.xo:30&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/jwt</title><link>https://xolang.dev/docs/stdlib/jwt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/jwt/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#alg"&gt;&lt;code&gt;Alg&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#key"&gt;&lt;code&gt;Key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#header"&gt;&lt;code&gt;Header&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#options"&gt;&lt;code&gt;Options&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#jwterr"&gt;&lt;code&gt;JwtErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#jwterrdisplay"&gt;&lt;code&gt;JwtErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#sign"&gt;&lt;code&gt;sign&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#verify_with"&gt;&lt;code&gt;verify_with&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#verify"&gt;&lt;code&gt;verify&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#peek_header"&gt;&lt;code&gt;peek_header&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#jwks"&gt;&lt;code&gt;jwks&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="alg"&gt;Alg&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Alg&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;HS256&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;HS384&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;HS512&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;RS256&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;RS384&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;RS512&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;PS256&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;PS384&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;PS512&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;ES256&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;ES384&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;ES512&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;EdDSA&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The signature algorithms (RFC 7518 3.1). There is no &lt;code&gt;none&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/jwt.xo#L8"&gt;Source: &lt;code&gt;std/jwt.xo:8&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="key"&gt;Key&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Key&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Hmac&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;secret&lt;/span&gt;: &lt;span class="nc"&gt;Secret&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Public&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;: &lt;span class="nc"&gt;crypto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PublicKey&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Private&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;: &lt;span class="nc"&gt;crypto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PrivateKey&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A key. &lt;code&gt;Hmac&lt;/code&gt; for HS*, a public key (or a private key, whose public&#10;half verifies) for RS*, PS*, ES* and EdDSA, a private key to sign them.&lt;/p&gt;</description></item><item><title>std/log</title><link>https://xolang.dev/docs/stdlib/log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/log/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#logger"&gt;&lt;code&gt;Logger&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#loggerwith"&gt;&lt;code&gt;Logger.with&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#loggerdebug"&gt;&lt;code&gt;Logger.debug&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#loggerinfo"&gt;&lt;code&gt;Logger.info&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#loggerwarn"&gt;&lt;code&gt;Logger.warn&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#loggererror"&gt;&lt;code&gt;Logger.error&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#level"&gt;&lt;code&gt;Level&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#format"&gt;&lt;code&gt;Format&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#record"&gt;&lt;code&gt;Record&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#debug"&gt;&lt;code&gt;debug&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#info"&gt;&lt;code&gt;info&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#warn"&gt;&lt;code&gt;warn&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#error"&gt;&lt;code&gt;error&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#enabled"&gt;&lt;code&gt;enabled&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#configure"&gt;&lt;code&gt;configure&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#with"&gt;&lt;code&gt;with&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="logger"&gt;Logger&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Logger&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A logger that adds fields to every record it writes (log/slog&amp;rsquo;s&#10;Logger.With; decision 0413): a value, so a handler can make one per&#10;request and pass it on. A record&amp;rsquo;s own fields override a logger&amp;rsquo;s of&#10;the same name. A logger made in a dependency&amp;rsquo;s code keeps that&#10;dependency as its records&amp;rsquo; module (decision 0173).&lt;/p&gt;</description></item><item><title>std/mail</title><link>https://xolang.dev/docs/stdlib/mail/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/mail/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#address"&gt;&lt;code&gt;Address&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#addressdisplay"&gt;&lt;code&gt;Address.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#mailerr"&gt;&lt;code&gt;MailErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#mailerrdisplay"&gt;&lt;code&gt;MailErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#message"&gt;&lt;code&gt;Message&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#messageheader"&gt;&lt;code&gt;Message.header&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_address"&gt;&lt;code&gt;parse_address&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_address_list"&gt;&lt;code&gt;parse_address_list&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#read_message"&gt;&lt;code&gt;read_message&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_date"&gt;&lt;code&gt;parse_date&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#compose"&gt;&lt;code&gt;compose&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="address"&gt;Address&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Address&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;address&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A mail address: the display name (decoded) and &lt;code&gt;local@domain&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/mail.xo#L6"&gt;Source: &lt;code&gt;std/mail.xo:6&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="addressdisplay"&gt;Address.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;: &lt;span class="nc"&gt;Address&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;&amp;quot;Ann Lee&amp;quot; &amp;lt;ann@example.com&amp;gt;&lt;/code&gt;, the name quoted or RFC 2047 encoded as&#10;needed (Address.String).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/mail.xo#L26"&gt;Source: &lt;code&gt;std/mail.xo:26&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="mailerr"&gt;MailErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;MailErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Go&amp;rsquo;s error texts: &lt;code&gt;mail: no address&lt;/code&gt;, &lt;code&gt;mail: missing @ in addr-spec&lt;/code&gt;, &amp;hellip;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/mail.xo#L12"&gt;Source: &lt;code&gt;std/mail.xo:12&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="mailerrdisplay"&gt;MailErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;MailErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/mail.xo#L16"&gt;Source: &lt;code&gt;std/mail.xo:16&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/metrics</title><link>https://xolang.dev/docs/stdlib/metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/metrics/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#series"&gt;&lt;code&gt;Series&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#qsample"&gt;&lt;code&gt;QSample&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#qstream"&gt;&lt;code&gt;QStream&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#qstate"&gt;&lt;code&gt;QState&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#sample"&gt;&lt;code&gt;Sample&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#kind"&gt;&lt;code&gt;Kind&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#family"&gt;&lt;code&gt;Family&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#registry"&gt;&lt;code&gt;Registry&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#registrycounter"&gt;&lt;code&gt;Registry.counter&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#registrygauge"&gt;&lt;code&gt;Registry.gauge&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#registryhistogram"&gt;&lt;code&gt;Registry.histogram&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#registrysummary"&gt;&lt;code&gt;Registry.summary&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#registrygauge_func"&gt;&lt;code&gt;Registry.gauge_func&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#registrycounter_func"&gt;&lt;code&gt;Registry.counter_func&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#registrycollector"&gt;&lt;code&gt;Registry.collector&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#registrytext"&gt;&lt;code&gt;Registry.text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#registryhandler"&gt;&lt;code&gt;Registry.handler&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#registryhandler_at"&gt;&lt;code&gt;Registry.handler_at&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#registrymiddleware"&gt;&lt;code&gt;Registry.middleware&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#counter"&gt;&lt;code&gt;Counter&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#counterinc"&gt;&lt;code&gt;Counter.inc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#counteradd"&gt;&lt;code&gt;Counter.add&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#counterchild"&gt;&lt;code&gt;Counter.child&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#counterremove"&gt;&lt;code&gt;Counter.remove&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#counterreset"&gt;&lt;code&gt;Counter.reset&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#gauge"&gt;&lt;code&gt;Gauge&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#gaugeset"&gt;&lt;code&gt;Gauge.set&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#gaugeadd"&gt;&lt;code&gt;Gauge.add&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#gaugechild"&gt;&lt;code&gt;Gauge.child&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#gaugeremove"&gt;&lt;code&gt;Gauge.remove&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#gaugereset"&gt;&lt;code&gt;Gauge.reset&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#histogram"&gt;&lt;code&gt;Histogram&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#histogramobserve"&gt;&lt;code&gt;Histogram.observe&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#histogramchild"&gt;&lt;code&gt;Histogram.child&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#histogramremove"&gt;&lt;code&gt;Histogram.remove&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#histogramreset"&gt;&lt;code&gt;Histogram.reset&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#summary"&gt;&lt;code&gt;Summary&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#summarychild"&gt;&lt;code&gt;Summary.child&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#summaryobserve"&gt;&lt;code&gt;Summary.observe&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#summaryremove"&gt;&lt;code&gt;Summary.remove&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#summaryreset"&gt;&lt;code&gt;Summary.reset&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#counterchild"&gt;&lt;code&gt;CounterChild&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#counterchildinc"&gt;&lt;code&gt;CounterChild.inc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#counterchildadd"&gt;&lt;code&gt;CounterChild.add&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#gaugechild"&gt;&lt;code&gt;GaugeChild&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#gaugechildset"&gt;&lt;code&gt;GaugeChild.set&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#gaugechildadd"&gt;&lt;code&gt;GaugeChild.add&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#histogramchild"&gt;&lt;code&gt;HistogramChild&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#histogramchildobserve"&gt;&lt;code&gt;HistogramChild.observe&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#summarychild"&gt;&lt;code&gt;SummaryChild&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#summarychildobserve"&gt;&lt;code&gt;SummaryChild.observe&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#registry"&gt;&lt;code&gt;registry&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#latency_buckets"&gt;&lt;code&gt;latency_buckets&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="series"&gt;Series&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Series&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;values&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cells&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Atomic&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Mutex&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;QState&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;One series of an instrument: its label values and its cells (atomic&#10;integers in one list, so reading a series out of the registry shares&#10;one object, not one per field): cell 0 a counter&amp;rsquo;s or gauge&amp;rsquo;s float (its&#10;bits), 1 the observation count, 2 the sum (bits), 3 and on a&#10;histogram&amp;rsquo;s bucket counts, one bucket each. Internal: use the&#10;instruments.&lt;/p&gt;</description></item><item><title>std/mime</title><link>https://xolang.dev/docs/stdlib/mime/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/mime/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#mediatype"&gt;&lt;code&gt;MediaType&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#mimeerr"&gt;&lt;code&gt;MimeErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#mimeerrdisplay"&gt;&lt;code&gt;MimeErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_media_type"&gt;&lt;code&gt;parse_media_type&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#format_media_type"&gt;&lt;code&gt;format_media_type&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#type_by_extension"&gt;&lt;code&gt;type_by_extension&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#extensions_by_type"&gt;&lt;code&gt;extensions_by_type&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#detect_content_type"&gt;&lt;code&gt;detect_content_type&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="mediatype"&gt;MediaType&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;MediaType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;kind&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;: &lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A media type: the type and subtype in lower case (&amp;ldquo;text/html&amp;rdquo;) and its&#10;parameters, names in lower case.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/mime.xo#L8"&gt;Source: &lt;code&gt;std/mime.xo:8&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="mimeerr"&gt;MimeErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;MimeErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Go&amp;rsquo;s error texts: &lt;code&gt;mime: no media type&lt;/code&gt;, &lt;code&gt;mime: invalid media parameter&lt;/code&gt;, &amp;hellip;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/mime.xo#L14"&gt;Source: &lt;code&gt;std/mime.xo:14&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="mimeerrdisplay"&gt;MimeErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;MimeErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/mime.xo#L18"&gt;Source: &lt;code&gt;std/mime.xo:18&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="parse_media_type"&gt;parse_media_type&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;parse_media_type&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;MediaType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MimeErr&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;text/html; charset=utf-8&lt;/code&gt; into its parts (mime.ParseMediaType): RFC&#10;2231 continuations and charsets (utf-8, us-ascii) decoded.&lt;/p&gt;</description></item><item><title>std/multipart</title><link>https://xolang.dev/docs/stdlib/multipart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/multipart/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#part"&gt;&lt;code&gt;Part&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#form"&gt;&lt;code&gt;Form&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#multiparterr"&gt;&lt;code&gt;MultipartErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#multiparterrdisplay"&gt;&lt;code&gt;MultipartErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_form"&gt;&lt;code&gt;parse_form&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#write"&gt;&lt;code&gt;write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#form_data_content_type"&gt;&lt;code&gt;form_data_content_type&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#random_boundary"&gt;&lt;code&gt;random_boundary&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="part"&gt;Part&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Part&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;: &lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;One part. &lt;code&gt;name&lt;/code&gt; is the form field (Content-Disposition &lt;code&gt;form-data&lt;/code&gt;&amp;rsquo;s&#10;&lt;code&gt;name&lt;/code&gt;, else &amp;ldquo;&amp;rdquo;); &lt;code&gt;filename&lt;/code&gt; its file name, the last path element as&#10;Go&amp;rsquo;s FileName; &lt;code&gt;headers&lt;/code&gt; the first value of each header, keys in&#10;canonical form (Content-Type).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/multipart.xo#L11"&gt;Source: &lt;code&gt;std/multipart.xo:11&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="form"&gt;Form&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Form&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;values&lt;/span&gt;: &lt;span class="nc"&gt;url&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Values&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;: &lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Part&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A form: the fields without a file name, and the file parts by field.&lt;/p&gt;</description></item><item><title>std/netip</title><link>https://xolang.dev/docs/stdlib/netip/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/netip/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#addr"&gt;&lt;code&gt;Addr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#addris_4"&gt;&lt;code&gt;Addr.is_4&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#addris_6"&gt;&lt;code&gt;Addr.is_6&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#addris_4in6"&gt;&lt;code&gt;Addr.is_4in6&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#addrunmap"&gt;&lt;code&gt;Addr.unmap&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#addris_loopback"&gt;&lt;code&gt;Addr.is_loopback&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#addris_private"&gt;&lt;code&gt;Addr.is_private&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#addris_unspecified"&gt;&lt;code&gt;Addr.is_unspecified&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#addris_link_local_unicast"&gt;&lt;code&gt;Addr.is_link_local_unicast&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#addris_multicast"&gt;&lt;code&gt;Addr.is_multicast&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#addrbytes"&gt;&lt;code&gt;Addr.bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#addrdisplay"&gt;&lt;code&gt;Addr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#prefix"&gt;&lt;code&gt;Prefix&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#prefixcontains"&gt;&lt;code&gt;Prefix.contains&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#prefixmasked"&gt;&lt;code&gt;Prefix.masked&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#prefixdisplay"&gt;&lt;code&gt;Prefix.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#parseerr"&gt;&lt;code&gt;ParseErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#parseerrdisplay"&gt;&lt;code&gt;ParseErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_addr"&gt;&lt;code&gt;parse_addr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#lookup"&gt;&lt;code&gt;lookup&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_prefix"&gt;&lt;code&gt;parse_prefix&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#addr_from_bytes"&gt;&lt;code&gt;addr_from_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="addr"&gt;Addr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Addr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;bits&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hi&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;lo&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;zone&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Ord&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;An IP address: &lt;code&gt;bits&lt;/code&gt; is 32 for IPv4, 128 for IPv6, 0 for the zero&#10;value; &lt;code&gt;hi&lt;/code&gt; and &lt;code&gt;lo&lt;/code&gt; its 16 bytes as two words (an IPv4 address as&#10;::ffff:a.b.c.d); &lt;code&gt;zone&lt;/code&gt; an IPv6 zone. The order is Go&amp;rsquo;s Addr.Compare.&lt;/p&gt;</description></item><item><title>std/norm</title><link>https://xolang.dev/docs/stdlib/norm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/norm/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#form"&gt;&lt;code&gt;Form&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unicode_version"&gt;&lt;code&gt;unicode_version&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#normalize"&gt;&lt;code&gt;normalize&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#is_normalized"&gt;&lt;code&gt;is_normalized&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="form"&gt;Form&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Form&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Nfc&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Nfd&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Nfkc&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Nfkd&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A normalization form.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/norm.xo#L8"&gt;Source: &lt;code&gt;std/norm.xo:8&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="unicode_version"&gt;unicode_version&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;unicode_version&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The Unicode version of the tables (&lt;code&gt;15.0.0&lt;/code&gt;).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/norm.xo#L21"&gt;Source: &lt;code&gt;std/norm.xo:21&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="normalize"&gt;normalize&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;normalize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;: &lt;span class="nc"&gt;Form&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;s in the form f (Form.String). ASCII text is returned as it is.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/norm.xo#L24"&gt;Source: &lt;code&gt;std/norm.xo:24&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="is_normalized"&gt;is_normalized&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;is_normalized&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;: &lt;span class="nc"&gt;Form&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Whether s is already in the form f (Form.IsNormalString).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/norm.xo#L26"&gt;Source: &lt;code&gt;std/norm.xo:26&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/otlp</title><link>https://xolang.dev/docs/stdlib/otlp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/otlp/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#resource"&gt;&lt;code&gt;Resource&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#exporterr"&gt;&lt;code&gt;ExportErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#exporterrdisplay"&gt;&lt;code&gt;ExportErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#exporter"&gt;&lt;code&gt;Exporter&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#exporterwith_headers"&gt;&lt;code&gt;Exporter.with_headers&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#exporterwith_backoff"&gt;&lt;code&gt;Exporter.with_backoff&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#exportersend_traces"&gt;&lt;code&gt;Exporter.send_traces&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#exportersend_metrics"&gt;&lt;code&gt;Exporter.send_metrics&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_traces"&gt;&lt;code&gt;encode_traces&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_metrics"&gt;&lt;code&gt;encode_metrics&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#exporter"&gt;&lt;code&gt;exporter&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="resource"&gt;Resource&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Resource&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;service&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[(&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;scope&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;std/trace&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;What an export says about the program that made the spans: the &lt;code&gt;service.name&lt;/code&gt; resource attribute, more&#10;resource attributes, and the instrumentation scope name (and version) the spans are filed under.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/otlp.xo#L12"&gt;Source: &lt;code&gt;std/otlp.xo:12&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="exporterr"&gt;ExportErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;ExportErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Transport&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Rejected&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;body&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;GaveUp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tries&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Why an export failed: the transport (no response), a status the collector will not take (400 and the like: a&#10;retry would send the same bytes), or retries that ran out with the last answer.&lt;/p&gt;</description></item><item><title>std/otp</title><link>https://xolang.dev/docs/stdlib/otp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/otp/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;fn &lt;a href="#hotp"&gt;&lt;code&gt;hotp&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#totp"&gt;&lt;code&gt;totp&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#verify"&gt;&lt;code&gt;verify&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#generate_secret"&gt;&lt;code&gt;generate_secret&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#uri"&gt;&lt;code&gt;uri&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="hotp"&gt;hotp&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;hotp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;secret&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;counter&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;digits&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;algo&lt;/span&gt;: &lt;span class="nc"&gt;crypto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Hash&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;crypto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Hash&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Sha1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The HOTP code (RFC 4226) of counter: &lt;code&gt;digits&lt;/code&gt; decimal digits (6 to 8,&#10;zero padded), HMAC over algo (Sha1, Sha256 or Sha512), the 8 byte&#10;big endian counter and the dynamic truncation of section 5.3. A fault&#10;for other digits or algo, or a negative counter.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/otp.xo#L11"&gt;Source: &lt;code&gt;std/otp.xo:11&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="totp"&gt;totp&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;totp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;secret&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;unix&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;period&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;digits&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;algo&lt;/span&gt;: &lt;span class="nc"&gt;crypto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Hash&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;crypto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Hash&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Sha1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The TOTP code (RFC 6238) at unix seconds: hotp of &lt;code&gt;unix / period&lt;/code&gt;.&#10;A fault for a period under 1 or a negative unix, and hotp&amp;rsquo;s.&lt;/p&gt;</description></item><item><title>std/path</title><link>https://xolang.dev/docs/stdlib/path/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/path/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#patherr"&gt;&lt;code&gt;PathErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#patherrdisplay"&gt;&lt;code&gt;PathErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#join"&gt;&lt;code&gt;join&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#split"&gt;&lt;code&gt;split&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#dir"&gt;&lt;code&gt;dir&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#base"&gt;&lt;code&gt;base&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#ext"&gt;&lt;code&gt;ext&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#clean"&gt;&lt;code&gt;clean&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#is_abs"&gt;&lt;code&gt;is_abs&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#is_match"&gt;&lt;code&gt;is_match&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="patherr"&gt;PathErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;PathErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pattern&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A path pattern &lt;code&gt;is_match&lt;/code&gt; cannot parse (Go&amp;rsquo;s path.ErrBadPattern).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/path.xo#L14"&gt;Source: &lt;code&gt;std/path.xo:14&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="patherrdisplay"&gt;PathErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;PathErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/path.xo#L18"&gt;Source: &lt;code&gt;std/path.xo:18&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="join"&gt;join&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/path.xo#L5"&gt;Source: &lt;code&gt;std/path.xo:5&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="split"&gt;split&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/path.xo#L6"&gt;Source: &lt;code&gt;std/path.xo:6&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="dir"&gt;dir&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;dir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/path.xo#L7"&gt;Source: &lt;code&gt;std/path.xo:7&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="base"&gt;base&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;base&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/path.xo#L8"&gt;Source: &lt;code&gt;std/path.xo:8&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="ext"&gt;ext&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;ext&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/path.xo#L9"&gt;Source: &lt;code&gt;std/path.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="clean"&gt;clean&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;clean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/path.xo#L10"&gt;Source: &lt;code&gt;std/path.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="is_abs"&gt;is_abs&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;is_abs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/path.xo#L11"&gt;Source: &lt;code&gt;std/path.xo:11&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="is_match"&gt;is_match&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;is_match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pattern&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PathErr&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Whether name matches the shell pattern: &lt;code&gt;*&lt;/code&gt; any sequence of non-&lt;code&gt;/&lt;/code&gt;&#10;characters, &lt;code&gt;?&lt;/code&gt; one non-&lt;code&gt;/&lt;/code&gt; character, &lt;code&gt;[a-z]&lt;/code&gt; and &lt;code&gt;[^a-z]&lt;/code&gt; a byte&#10;class, &lt;code&gt;\c&lt;/code&gt; the character c. The pattern must match all of name.&lt;/p&gt;</description></item><item><title>std/png</title><link>https://xolang.dev/docs/stdlib/png/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/png/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#model"&gt;&lt;code&gt;Model&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#modelbytes_per_pixel"&gt;&lt;code&gt;Model.bytes_per_pixel&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#image"&gt;&lt;code&gt;Image&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#imageat"&gt;&lt;code&gt;Image.at&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#config"&gt;&lt;code&gt;Config&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#compression"&gt;&lt;code&gt;Compression&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#pngerr"&gt;&lt;code&gt;PngErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#pngerrdisplay"&gt;&lt;code&gt;PngErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#image"&gt;&lt;code&gt;image&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode"&gt;&lt;code&gt;decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_config"&gt;&lt;code&gt;decode_config&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode"&gt;&lt;code&gt;encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="model"&gt;Model&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Model&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Gray&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Gray16&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Paletted&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;RGBA&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;NRGBA&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;RGBA64&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;NRGBA64&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Eq&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The image types image/png decodes to and encodes, each with Go&amp;rsquo;s pix&#10;layout (rows of &lt;code&gt;width * bytes&lt;/code&gt; with no padding):&#10;Gray (1 byte a pixel), Gray16 (2, big endian), Paletted (1, an index&#10;into &lt;code&gt;palette&lt;/code&gt;), RGBA (4, alpha premultiplied; decode makes it from&#10;opaque truecolor, so alpha is 255), NRGBA (4, not premultiplied),&#10;RGBA64 (8, big endian 16 bit channels, premultiplied), NRGBA64 (8).&lt;/p&gt;</description></item><item><title>std/protobuf</title><link>https://xolang.dev/docs/stdlib/protobuf/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/protobuf/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;const &lt;a href="#varint"&gt;&lt;code&gt;VARINT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#fixed64"&gt;&lt;code&gt;FIXED64&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#bytes"&gt;&lt;code&gt;BYTES&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#start_group"&gt;&lt;code&gt;START_GROUP&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#end_group"&gt;&lt;code&gt;END_GROUP&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#fixed32"&gt;&lt;code&gt;FIXED32&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#max_group_depth"&gt;&lt;code&gt;MAX_GROUP_DEPTH&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#protoerr"&gt;&lt;code&gt;ProtoErr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#append_varint"&gt;&lt;code&gt;append_varint&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#append_tag"&gt;&lt;code&gt;append_tag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#append_fixed32"&gt;&lt;code&gt;append_fixed32&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#append_fixed64"&gt;&lt;code&gt;append_fixed64&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#append_bytes"&gt;&lt;code&gt;append_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_varint"&gt;&lt;code&gt;put_varint&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_tag"&gt;&lt;code&gt;put_tag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_fixed32"&gt;&lt;code&gt;put_fixed32&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_fixed64"&gt;&lt;code&gt;put_fixed64&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_bytes"&gt;&lt;code&gt;put_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#size_varint"&gt;&lt;code&gt;size_varint&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_zigzag"&gt;&lt;code&gt;encode_zigzag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_zigzag"&gt;&lt;code&gt;decode_zigzag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#read_varint"&gt;&lt;code&gt;read_varint&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#read_tag"&gt;&lt;code&gt;read_tag&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#read_fixed32"&gt;&lt;code&gt;read_fixed32&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#read_fixed64"&gt;&lt;code&gt;read_fixed64&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#read_bytes"&gt;&lt;code&gt;read_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#skip_field"&gt;&lt;code&gt;skip_field&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#marshal"&gt;&lt;code&gt;marshal&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unmarshal"&gt;&lt;code&gt;unmarshal&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="varint"&gt;VARINT&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;VARINT&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A field&amp;rsquo;s wire type (the low three bits of its tag).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protobuf.xo#L5"&gt;Source: &lt;code&gt;std/protobuf.xo:5&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="fixed64"&gt;FIXED64&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;FIXED64&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protobuf.xo#L6"&gt;Source: &lt;code&gt;std/protobuf.xo:6&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="bytes"&gt;BYTES&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;BYTES&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protobuf.xo#L7"&gt;Source: &lt;code&gt;std/protobuf.xo:7&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="start_group"&gt;START_GROUP&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;START_GROUP&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protobuf.xo#L8"&gt;Source: &lt;code&gt;std/protobuf.xo:8&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="end_group"&gt;END_GROUP&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;END_GROUP&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protobuf.xo#L9"&gt;Source: &lt;code&gt;std/protobuf.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/protodesc</title><link>https://xolang.dev/docs/stdlib/protodesc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/protodesc/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;const &lt;a href="#label_optional"&gt;&lt;code&gt;LABEL_OPTIONAL&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#label_required"&gt;&lt;code&gt;LABEL_REQUIRED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#label_repeated"&gt;&lt;code&gt;LABEL_REPEATED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_double"&gt;&lt;code&gt;TYPE_DOUBLE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_float"&gt;&lt;code&gt;TYPE_FLOAT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_int64"&gt;&lt;code&gt;TYPE_INT64&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_uint64"&gt;&lt;code&gt;TYPE_UINT64&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_int32"&gt;&lt;code&gt;TYPE_INT32&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_fixed64"&gt;&lt;code&gt;TYPE_FIXED64&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_fixed32"&gt;&lt;code&gt;TYPE_FIXED32&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_bool"&gt;&lt;code&gt;TYPE_BOOL&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_string"&gt;&lt;code&gt;TYPE_STRING&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_group"&gt;&lt;code&gt;TYPE_GROUP&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_message"&gt;&lt;code&gt;TYPE_MESSAGE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_bytes"&gt;&lt;code&gt;TYPE_BYTES&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_uint32"&gt;&lt;code&gt;TYPE_UINT32&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_enum"&gt;&lt;code&gt;TYPE_ENUM&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_sfixed32"&gt;&lt;code&gt;TYPE_SFIXED32&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_sfixed64"&gt;&lt;code&gt;TYPE_SFIXED64&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_sint32"&gt;&lt;code&gt;TYPE_SINT32&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#type_sint64"&gt;&lt;code&gt;TYPE_SINT64&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#reservedrange"&gt;&lt;code&gt;ReservedRange&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#extensionrange"&gt;&lt;code&gt;ExtensionRange&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#oneofdesc"&gt;&lt;code&gt;OneofDesc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fielddesc"&gt;&lt;code&gt;FieldDesc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#enumvaluedesc"&gt;&lt;code&gt;EnumValueDesc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#enumdesc"&gt;&lt;code&gt;EnumDesc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#messagedesc"&gt;&lt;code&gt;MessageDesc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#methoddesc"&gt;&lt;code&gt;MethodDesc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#servicedesc"&gt;&lt;code&gt;ServiceDesc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#filedesc"&gt;&lt;code&gt;FileDesc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode"&gt;&lt;code&gt;encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode"&gt;&lt;code&gt;decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="label_optional"&gt;LABEL_OPTIONAL&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;LABEL_OPTIONAL&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;FieldDescriptorProto.Label.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protodesc.xo#L12"&gt;Source: &lt;code&gt;std/protodesc.xo:12&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="label_required"&gt;LABEL_REQUIRED&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;LABEL_REQUIRED&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protodesc.xo#L13"&gt;Source: &lt;code&gt;std/protodesc.xo:13&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="label_repeated"&gt;LABEL_REPEATED&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;LABEL_REPEATED&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protodesc.xo#L14"&gt;Source: &lt;code&gt;std/protodesc.xo:14&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="type_double"&gt;TYPE_DOUBLE&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;TYPE_DOUBLE&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;FieldDescriptorProto.Type.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protodesc.xo#L17"&gt;Source: &lt;code&gt;std/protodesc.xo:17&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="type_float"&gt;TYPE_FLOAT&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;TYPE_FLOAT&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protodesc.xo#L18"&gt;Source: &lt;code&gt;std/protodesc.xo:18&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="type_int64"&gt;TYPE_INT64&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;TYPE_INT64&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protodesc.xo#L19"&gt;Source: &lt;code&gt;std/protodesc.xo:19&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/protojson</title><link>https://xolang.dev/docs/stdlib/protojson/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/protojson/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#jsonerr"&gt;&lt;code&gt;JsonErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#jsonerrdisplay"&gt;&lt;code&gt;JsonErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#opts"&gt;&lt;code&gt;Opts&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#registry"&gt;&lt;code&gt;Registry&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#msginfo"&gt;&lt;code&gt;MsgInfo&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#registry"&gt;&lt;code&gt;registry&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#registry_from_set"&gt;&lt;code&gt;registry_from_set&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#marshal"&gt;&lt;code&gt;marshal&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unmarshal"&gt;&lt;code&gt;unmarshal&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="jsonerr"&gt;JsonErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;JsonErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Why a conversion failed; &lt;code&gt;text&lt;/code&gt; is protojson&amp;rsquo;s message.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protojson.xo#L16"&gt;Source: &lt;code&gt;std/protojson.xo:16&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="jsonerrdisplay"&gt;JsonErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;JsonErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protojson.xo#L20"&gt;Source: &lt;code&gt;std/protojson.xo:20&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="opts"&gt;Opts&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Opts&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;proto_names&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emit_defaults&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;enum_numbers&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;discard_unknown&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Go&amp;rsquo;s MarshalOptions and UnmarshalOptions: &lt;code&gt;proto_names&lt;/code&gt; writes the proto field names (UseProtoNames),&#10;&lt;code&gt;emit_defaults&lt;/code&gt; writes default valued fields (EmitDefaultValues), &lt;code&gt;enum_numbers&lt;/code&gt; writes enums as numbers&#10;(UseEnumNumbers); &lt;code&gt;discard_unknown&lt;/code&gt; skips unknown fields and enum names when reading (DiscardUnknown).&lt;/p&gt;</description></item><item><title>std/protoparse</title><link>https://xolang.dev/docs/stdlib/protoparse/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/protoparse/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#parseerr"&gt;&lt;code&gt;ParseErr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#kind"&gt;&lt;code&gt;Kind&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#token"&gt;&lt;code&gt;Token&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#field"&gt;&lt;code&gt;Field&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#enumvalue"&gt;&lt;code&gt;EnumValue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#enum"&gt;&lt;code&gt;Enum&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#message"&gt;&lt;code&gt;Message&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#rpc"&gt;&lt;code&gt;Rpc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#service"&gt;&lt;code&gt;Service&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#file"&gt;&lt;code&gt;File&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#tokens"&gt;&lt;code&gt;tokens&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#gen"&gt;&lt;code&gt;gen&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="parseerr"&gt;ParseErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;ParseErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;col&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Where and why a parse failed; the position is 1 based.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protoparse.xo#L5"&gt;Source: &lt;code&gt;std/protoparse.xo:5&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="kind"&gt;Kind&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Kind&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Ident&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Float&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Sym&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A token kind: an identifier (dots allowed inside, as in &lt;code&gt;foo.Bar&lt;/code&gt;), an integer, a float, a&#10;string literal (unquoted, escapes decoded), or one symbol character.&lt;/p&gt;</description></item><item><title>std/protowkt</title><link>https://xolang.dev/docs/stdlib/protowkt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/protowkt/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#timestamp"&gt;&lt;code&gt;Timestamp&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#duration"&gt;&lt;code&gt;Duration&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#empty"&gt;&lt;code&gt;Empty&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fieldmask"&gt;&lt;code&gt;FieldMask&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#any"&gt;&lt;code&gt;Any&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#doublevalue"&gt;&lt;code&gt;DoubleValue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#floatvalue"&gt;&lt;code&gt;FloatValue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#int64value"&gt;&lt;code&gt;Int64Value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#uint64value"&gt;&lt;code&gt;UInt64Value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#int32value"&gt;&lt;code&gt;Int32Value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#uint32value"&gt;&lt;code&gt;UInt32Value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#boolvalue"&gt;&lt;code&gt;BoolValue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#stringvalue"&gt;&lt;code&gt;StringValue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#bytesvalue"&gt;&lt;code&gt;BytesValue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#value"&gt;&lt;code&gt;Value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#struct"&gt;&lt;code&gt;Struct&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#listvalue"&gt;&lt;code&gt;ListValue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_timestamp"&gt;&lt;code&gt;encode_timestamp&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_timestamp"&gt;&lt;code&gt;decode_timestamp&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_duration"&gt;&lt;code&gt;encode_duration&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_duration"&gt;&lt;code&gt;decode_duration&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_empty"&gt;&lt;code&gt;encode_empty&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_empty"&gt;&lt;code&gt;decode_empty&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_field_mask"&gt;&lt;code&gt;encode_field_mask&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_field_mask"&gt;&lt;code&gt;decode_field_mask&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_any"&gt;&lt;code&gt;encode_any&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_any"&gt;&lt;code&gt;decode_any&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_double_value"&gt;&lt;code&gt;encode_double_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_double_value"&gt;&lt;code&gt;decode_double_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_float_value"&gt;&lt;code&gt;encode_float_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_float_value"&gt;&lt;code&gt;decode_float_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_int64_value"&gt;&lt;code&gt;encode_int64_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_int64_value"&gt;&lt;code&gt;decode_int64_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_uint64_value"&gt;&lt;code&gt;encode_uint64_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_uint64_value"&gt;&lt;code&gt;decode_uint64_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_int32_value"&gt;&lt;code&gt;encode_int32_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_int32_value"&gt;&lt;code&gt;decode_int32_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_uint32_value"&gt;&lt;code&gt;encode_uint32_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_uint32_value"&gt;&lt;code&gt;decode_uint32_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_bool_value"&gt;&lt;code&gt;encode_bool_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_bool_value"&gt;&lt;code&gt;decode_bool_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_string_value"&gt;&lt;code&gt;encode_string_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_string_value"&gt;&lt;code&gt;decode_string_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_bytes_value"&gt;&lt;code&gt;encode_bytes_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_bytes_value"&gt;&lt;code&gt;decode_bytes_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_value"&gt;&lt;code&gt;encode_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_value"&gt;&lt;code&gt;decode_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_struct"&gt;&lt;code&gt;encode_struct&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_struct"&gt;&lt;code&gt;decode_struct&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_list_value"&gt;&lt;code&gt;encode_list_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_list_value"&gt;&lt;code&gt;decode_list_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="timestamp"&gt;Timestamp&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Timestamp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;seconds&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;nanos&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Eq&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protowkt.xo#L12"&gt;Source: &lt;code&gt;std/protowkt.xo:12&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="duration"&gt;Duration&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Duration&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;seconds&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;nanos&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Eq&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/protowkt.xo#L17"&gt;Source: &lt;code&gt;std/protowkt.xo:17&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/rate</title><link>https://xolang.dev/docs/stdlib/rate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/rate/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;const &lt;a href="#inf"&gt;&lt;code&gt;INF&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#limitstate"&gt;&lt;code&gt;LimitState&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#limiter"&gt;&lt;code&gt;Limiter&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#limiterlimit"&gt;&lt;code&gt;Limiter.limit&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#limiterburst"&gt;&lt;code&gt;Limiter.burst&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#limitertokens"&gt;&lt;code&gt;Limiter.tokens&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#limiterallow"&gt;&lt;code&gt;Limiter.allow&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#limiterallow_n"&gt;&lt;code&gt;Limiter.allow_n&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#limiterreserve"&gt;&lt;code&gt;Limiter.reserve&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#limiterreserve_n"&gt;&lt;code&gt;Limiter.reserve_n&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#limiterwait"&gt;&lt;code&gt;Limiter.wait&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#limiterwait_n"&gt;&lt;code&gt;Limiter.wait_n&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#limiterset_limit"&gt;&lt;code&gt;Limiter.set_limit&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#limiterset_burst"&gt;&lt;code&gt;Limiter.set_burst&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#reservation"&gt;&lt;code&gt;Reservation&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#reservationok"&gt;&lt;code&gt;Reservation.ok&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#reservationdelay"&gt;&lt;code&gt;Reservation.delay&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#reservationcancel"&gt;&lt;code&gt;Reservation.cancel&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#rateerr"&gt;&lt;code&gt;RateErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#rateerrdisplay"&gt;&lt;code&gt;RateErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#new"&gt;&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#every"&gt;&lt;code&gt;every&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="inf"&gt;INF&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;INF&lt;/span&gt;: &lt;span class="nc"&gt;Float&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;1.7976931348623157e308&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A limit that allows every event (rate.Inf).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/rate.xo#L9"&gt;Source: &lt;code&gt;std/rate.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="limitstate"&gt;LimitState&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;LimitState&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;limit&lt;/span&gt;: &lt;span class="nc"&gt;Float&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;burst&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tokens&lt;/span&gt;: &lt;span class="nc"&gt;Float&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;last&lt;/span&gt;: &lt;span class="nc"&gt;Time&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;last_event&lt;/span&gt;: &lt;span class="nc"&gt;Time&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A limiter&amp;rsquo;s state. Internal: use the methods.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/rate.xo#L12"&gt;Source: &lt;code&gt;std/rate.xo:12&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="limiter"&gt;Limiter&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Limiter&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;st&lt;/span&gt;: &lt;span class="nc"&gt;Mutex&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;LimitState&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;clock&lt;/span&gt;: &lt;span class="nc"&gt;Clock&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A token bucket: &lt;code&gt;limit&lt;/code&gt; tokens a second, at most &lt;code&gt;burst&lt;/code&gt; at once.&#10;A handle: copies share the bucket, and tasks may use it at once.&lt;/p&gt;</description></item><item><title>std/regexp</title><link>https://xolang.dev/docs/stdlib/regexp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/regexp/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#regex"&gt;&lt;code&gt;Regex&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#regexpattern"&gt;&lt;code&gt;Regex.pattern&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#regexis_match"&gt;&lt;code&gt;Regex.is_match&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#regexfind"&gt;&lt;code&gt;Regex.find&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#regexfind_index"&gt;&lt;code&gt;Regex.find_index&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#regexfind_all"&gt;&lt;code&gt;Regex.find_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#regexcaptures"&gt;&lt;code&gt;Regex.captures&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#regexnamed"&gt;&lt;code&gt;Regex.named&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#regexreplace_all"&gt;&lt;code&gt;Regex.replace_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#regexreplace_all_literal"&gt;&lt;code&gt;Regex.replace_all_literal&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#regexsplit"&gt;&lt;code&gt;Regex.split&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#regexerr"&gt;&lt;code&gt;RegexErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#regexerrdisplay"&gt;&lt;code&gt;RegexErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#compile"&gt;&lt;code&gt;compile&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#must"&gt;&lt;code&gt;must&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#quote"&gt;&lt;code&gt;quote&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="regex"&gt;Regex&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Regex&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A compiled expression: an immutable compiled value, comparable (not a&#10;handle, decision 0112 addendum).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/regexp.xo#L8"&gt;Source: &lt;code&gt;std/regexp.xo:8&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="regexpattern"&gt;Regex.pattern&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;: &lt;span class="nc"&gt;Regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pattern&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/regexp.xo#L24"&gt;Source: &lt;code&gt;std/regexp.xo:24&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="regexis_match"&gt;Regex.is_match&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;: &lt;span class="nc"&gt;Regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;is_match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/regexp.xo#L25"&gt;Source: &lt;code&gt;std/regexp.xo:25&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="regexfind"&gt;Regex.find&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;: &lt;span class="nc"&gt;Regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The leftmost match.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/regexp.xo#L27"&gt;Source: &lt;code&gt;std/regexp.xo:27&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="regexfind_index"&gt;Regex.find_index&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;: &lt;span class="nc"&gt;Regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;find_index&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The byte offsets &lt;code&gt;(start, end)&lt;/code&gt; of the leftmost match.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/regexp.xo#L29"&gt;Source: &lt;code&gt;std/regexp.xo:29&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="regexfind_all"&gt;Regex.find_all&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;: &lt;span class="nc"&gt;Regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;find_all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Every match, left to right, not overlapping.&lt;/p&gt;</description></item><item><title>std/smtp</title><link>https://xolang.dev/docs/stdlib/smtp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/smtp/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#smtperr"&gt;&lt;code&gt;SmtpErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#smtperrdisplay"&gt;&lt;code&gt;SmtpErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#auth"&gt;&lt;code&gt;Auth&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#security"&gt;&lt;code&gt;Security&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#send"&gt;&lt;code&gt;send&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="smtperr"&gt;SmtpErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;SmtpErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;code&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A failed send: the server&amp;rsquo;s reply code and text (&lt;code&gt;550 5.1.1 no such user&lt;/code&gt;), or code 0 for an error found before or outside a reply (a&#10;connection error, a CR or LF in an address, &lt;code&gt;smtp: server doesn't support STARTTLS&lt;/code&gt;).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/smtp.xo#L10"&gt;Source: &lt;code&gt;std/smtp.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="smtperrdisplay"&gt;SmtpErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;SmtpErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;CODE MSG&lt;/code&gt; (net/textproto&amp;rsquo;s Error), or MSG alone for code 0 (decision 0358).&lt;/p&gt;</description></item><item><title>std/sql</title><link>https://xolang.dev/docs/stdlib/sql/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/sql/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#sqlvalue"&gt;&lt;code&gt;SqlValue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#isolation"&gt;&lt;code&gt;Isolation&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#sqlerr"&gt;&lt;code&gt;SqlErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#sqlerrdisplay"&gt;&lt;code&gt;SqlErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#execresult"&gt;&lt;code&gt;ExecResult&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#db"&gt;&lt;code&gt;Db&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#dbquery"&gt;&lt;code&gt;Db.query&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dbrows"&gt;&lt;code&gt;Db.rows&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dbeach"&gt;&lt;code&gt;Db.each&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dbcopy_from"&gt;&lt;code&gt;Db.copy_from&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dbquery_one"&gt;&lt;code&gt;Db.query_one&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dbexec"&gt;&lt;code&gt;Db.exec&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dbquery_as"&gt;&lt;code&gt;Db.query_as&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dbquery_one_as"&gt;&lt;code&gt;Db.query_one_as&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dbbegin"&gt;&lt;code&gt;Db.begin&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dbping"&gt;&lt;code&gt;Db.ping&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dbclose"&gt;&lt;code&gt;Db.close&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#tx"&gt;&lt;code&gt;Tx&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#txquery"&gt;&lt;code&gt;Tx.query&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#txrows"&gt;&lt;code&gt;Tx.rows&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#txeach"&gt;&lt;code&gt;Tx.each&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#txcopy_from"&gt;&lt;code&gt;Tx.copy_from&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#txquery_one"&gt;&lt;code&gt;Tx.query_one&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#txexec"&gt;&lt;code&gt;Tx.exec&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#txquery_as"&gt;&lt;code&gt;Tx.query_as&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#txquery_one_as"&gt;&lt;code&gt;Tx.query_one_as&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#txcommit"&gt;&lt;code&gt;Tx.commit&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#txrollback"&gt;&lt;code&gt;Tx.rollback&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#row"&gt;&lt;code&gt;Row&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#rowcolumns"&gt;&lt;code&gt;Row.columns&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowdecode"&gt;&lt;code&gt;Row.decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowvalue"&gt;&lt;code&gt;Row.value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowis_null"&gt;&lt;code&gt;Row.is_null&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowint"&gt;&lt;code&gt;Row.int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowstr"&gt;&lt;code&gt;Row.str&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowfloat"&gt;&lt;code&gt;Row.float&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowbool"&gt;&lt;code&gt;Row.bool&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowtime"&gt;&lt;code&gt;Row.time&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowint_opt"&gt;&lt;code&gt;Row.int_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowstr_opt"&gt;&lt;code&gt;Row.str_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowfloat_opt"&gt;&lt;code&gt;Row.float_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowbool_opt"&gt;&lt;code&gt;Row.bool_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowtime_opt"&gt;&lt;code&gt;Row.time_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowbytes"&gt;&lt;code&gt;Row.bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowbytes_opt"&gt;&lt;code&gt;Row.bytes_opt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowjson"&gt;&lt;code&gt;Row.json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowints"&gt;&lt;code&gt;Row.ints&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowstrs"&gt;&lt;code&gt;Row.strs&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowitems"&gt;&lt;code&gt;Row.items&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#rows"&gt;&lt;code&gt;Rows&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#rowscolumns"&gt;&lt;code&gt;Rows.columns&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowsnext"&gt;&lt;code&gt;Rows.next&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowsnext_as"&gt;&lt;code&gt;Rows.next_as&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#rowsclose"&gt;&lt;code&gt;Rows.close&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#driver"&gt;&lt;code&gt;Driver&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#driverconn"&gt;&lt;code&gt;DriverConn&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#driverrows"&gt;&lt;code&gt;DriverRows&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#drivercursor"&gt;&lt;code&gt;DriverCursor&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#null"&gt;&lt;code&gt;null&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#int"&gt;&lt;code&gt;int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#str"&gt;&lt;code&gt;str&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#float"&gt;&lt;code&gt;float&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#bool"&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#time"&gt;&lt;code&gt;time&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#bytes"&gt;&lt;code&gt;bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#json"&gt;&lt;code&gt;json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#array"&gt;&lt;code&gt;array&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#quote_ident"&gt;&lt;code&gt;quote_ident&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#open"&gt;&lt;code&gt;open&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#memory"&gt;&lt;code&gt;memory&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#open_driver"&gt;&lt;code&gt;open_driver&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="sqlvalue"&gt;SqlValue&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;SqlValue&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Null&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Real&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;: &lt;span class="nc"&gt;Float&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Flag&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;At&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;: &lt;span class="nc"&gt;Time&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Blob&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;JsonText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;SqlValue&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A query parameter. &lt;code&gt;$1&lt;/code&gt; is &lt;code&gt;args[0]&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>std/sqlite</title><link>https://xolang.dev/docs/stdlib/sqlite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/sqlite/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#config"&gt;&lt;code&gt;Config&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#driver"&gt;&lt;code&gt;driver&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#config"&gt;&lt;code&gt;config&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#version"&gt;&lt;code&gt;version&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="config"&gt;Config&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Config&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;uri&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;keys&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;busy_ms&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pragmas&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A parsed DSN (see the module comment).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/sqlite.xo#L30"&gt;Source: &lt;code&gt;std/sqlite.xo:30&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="functions"&gt;Functions&lt;/h2&gt;&#10;&lt;h3 id="driver"&gt;driver&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;driver&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fs&lt;/span&gt;: &lt;span class="nc"&gt;Fs&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;sql&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Driver&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;fs&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The driver, opening database files through fs; its Db&amp;rsquo;s operations&#10;perform fs.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/sqlite.xo#L40"&gt;Source: &lt;code&gt;std/sqlite.xo:40&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="config-1"&gt;config&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;config&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dsn&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Config&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sql&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;SqlErr&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The DSN&amp;rsquo;s parts; Param for an unknown &lt;code&gt;_&lt;/code&gt; key or a bad value.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/sqlite.xo#L43"&gt;Source: &lt;code&gt;std/sqlite.xo:43&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="version"&gt;version&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;version&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;uses&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;fs&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The SQLite library&amp;rsquo;s version, e.g. &amp;ldquo;3.54.1&amp;rdquo;.&lt;/p&gt;</description></item><item><title>std/tabwriter</title><link>https://xolang.dev/docs/stdlib/tabwriter/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/tabwriter/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;const &lt;a href="#filter_html"&gt;&lt;code&gt;FILTER_HTML&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#strip_escape"&gt;&lt;code&gt;STRIP_ESCAPE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#align_right"&gt;&lt;code&gt;ALIGN_RIGHT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#discard_empty_columns"&gt;&lt;code&gt;DISCARD_EMPTY_COLUMNS&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#tab_indent"&gt;&lt;code&gt;TAB_INDENT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#debug"&gt;&lt;code&gt;DEBUG&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#escape"&gt;&lt;code&gt;ESCAPE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#tabwriter"&gt;&lt;code&gt;TabWriter&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#tabwriterwrite"&gt;&lt;code&gt;TabWriter.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tabwriterflush"&gt;&lt;code&gt;TabWriter.flush&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#writer"&gt;&lt;code&gt;writer&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="filter_html"&gt;FILTER_HTML&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;FILTER_HTML&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Flags (Go&amp;rsquo;s FilterHTML, StripEscape, AlignRight, DiscardEmptyColumns,&#10;TabIndent, Debug), added together.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/tabwriter.xo#L8"&gt;Source: &lt;code&gt;std/tabwriter.xo:8&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="strip_escape"&gt;STRIP_ESCAPE&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;STRIP_ESCAPE&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/tabwriter.xo#L9"&gt;Source: &lt;code&gt;std/tabwriter.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="align_right"&gt;ALIGN_RIGHT&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;ALIGN_RIGHT&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/tabwriter.xo#L10"&gt;Source: &lt;code&gt;std/tabwriter.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="discard_empty_columns"&gt;DISCARD_EMPTY_COLUMNS&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;DISCARD_EMPTY_COLUMNS&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/tabwriter.xo#L11"&gt;Source: &lt;code&gt;std/tabwriter.xo:11&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="tab_indent"&gt;TAB_INDENT&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;TAB_INDENT&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/tabwriter.xo#L12"&gt;Source: &lt;code&gt;std/tabwriter.xo:12&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="debug"&gt;DEBUG&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;DEBUG&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;32&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/tabwriter.xo#L13"&gt;Source: &lt;code&gt;std/tabwriter.xo:13&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="escape"&gt;ESCAPE&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;ESCAPE&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;255&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The byte that starts and ends an escaped text (Go&amp;rsquo;s Escape): its&#10;bytes pass through as one piece of the cell, tabs and all.&lt;/p&gt;</description></item><item><title>std/task</title><link>https://xolang.dev/docs/stdlib/task/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/task/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#timed"&gt;&lt;code&gt;Timed&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#isolated"&gt;&lt;code&gt;Isolated&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fault"&gt;&lt;code&gt;Fault&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#budgeted"&gt;&lt;code&gt;Budgeted&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#budget"&gt;&lt;code&gt;Budget&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#group"&gt;&lt;code&gt;Group&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#groupspawn"&gt;&lt;code&gt;Group.spawn&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#groupspawn_background"&gt;&lt;code&gt;Group.spawn_background&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#semaphore"&gt;&lt;code&gt;Semaphore&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#semaphorewith"&gt;&lt;code&gt;Semaphore.with&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#once"&gt;&lt;code&gt;Once&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#onceget"&gt;&lt;code&gt;Once.get&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#budget"&gt;&lt;code&gt;budget&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#with_budget"&gt;&lt;code&gt;with_budget&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#with_timeout"&gt;&lt;code&gt;with_timeout&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#isolate"&gt;&lt;code&gt;isolate&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#is_canceled"&gt;&lt;code&gt;is_canceled&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#stop_requested"&gt;&lt;code&gt;stop_requested&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#stopping"&gt;&lt;code&gt;stopping&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#deadline"&gt;&lt;code&gt;deadline&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#map_concurrent"&gt;&lt;code&gt;map_concurrent&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#map_concurrent_until"&gt;&lt;code&gt;map_concurrent_until&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#semaphore"&gt;&lt;code&gt;semaphore&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#once"&gt;&lt;code&gt;once&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="timed"&gt;Timed&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Timed&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TimedOut&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Failed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/task.xo#L5"&gt;Source: &lt;code&gt;std/task.xo:5&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="isolated"&gt;Isolated&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Isolated&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Faulted&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;info&lt;/span&gt;: &lt;span class="nc"&gt;Fault&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Failed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/task.xo#L10"&gt;Source: &lt;code&gt;std/task.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="fault"&gt;Fault&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Fault&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;frames&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/task.xo#L15"&gt;Source: &lt;code&gt;std/task.xo:15&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="budgeted"&gt;Budgeted&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Budgeted&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Exceeded&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;resource&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Failed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The outcome of task.with_budget (decision 0173): a ceiling was passed&#10;(resource is &amp;ldquo;cpu&amp;rdquo;, &amp;ldquo;alloc&amp;rdquo;, or &amp;ldquo;steps&amp;rdquo;), or f failed.&lt;/p&gt;</description></item><item><title>std/template</title><link>https://xolang.dev/docs/stdlib/template/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/template/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#templateerr"&gt;&lt;code&gt;TemplateErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#templateerrdisplay"&gt;&lt;code&gt;TemplateErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#templatefn"&gt;&lt;code&gt;TemplateFn&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#template"&gt;&lt;code&gt;Template&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#templateadd"&gt;&lt;code&gt;Template.add&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#templatemissing_key"&gt;&lt;code&gt;Template.missing_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#templaterender"&gt;&lt;code&gt;Template.render&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#templaterender_named"&gt;&lt;code&gt;Template.render_named&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#parsed"&gt;&lt;code&gt;Parsed&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_html"&gt;&lt;code&gt;parse_html&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#html"&gt;&lt;code&gt;html&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#css"&gt;&lt;code&gt;css&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#js"&gt;&lt;code&gt;js&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#jsstr"&gt;&lt;code&gt;jsstr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#url"&gt;&lt;code&gt;url&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#attr"&gt;&lt;code&gt;attr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#srcset"&gt;&lt;code&gt;srcset&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="templateerr"&gt;TemplateErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;TemplateErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A parse or execution error, with Go&amp;rsquo;s text&#10;(&lt;code&gt;template: t:1: function &amp;quot;nope&amp;quot; not defined&lt;/code&gt;).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/template.xo#L9"&gt;Source: &lt;code&gt;std/template.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="templateerrdisplay"&gt;TemplateErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;TemplateErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The message, Go&amp;rsquo;s text (decision 0358).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/template.xo#L14"&gt;Source: &lt;code&gt;std/template.xo:14&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="templatefn"&gt;TemplateFn&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;type&lt;/span&gt; &lt;span class="nc"&gt;TemplateFn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;fn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A template function (FuncMap, decision 0408): its arguments as the&#10;executor&amp;rsquo;s values, its result a value the template prints or passes&#10;on (escaped by the html mode&amp;rsquo;s context); Err text is the call&amp;rsquo;s&#10;error, &lt;code&gt;error calling NAME: text&lt;/code&gt;. Pure: a function with effects&#10;cannot be called from a render.&lt;/p&gt;</description></item><item><title>std/term</title><link>https://xolang.dev/docs/stdlib/term/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/term/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#painter"&gt;&lt;code&gt;Painter&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#painterbold"&gt;&lt;code&gt;Painter.bold&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#painterdim"&gt;&lt;code&gt;Painter.dim&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#painterunderline"&gt;&lt;code&gt;Painter.underline&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#painterred"&gt;&lt;code&gt;Painter.red&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#paintergreen"&gt;&lt;code&gt;Painter.green&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#painteryellow"&gt;&lt;code&gt;Painter.yellow&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#painterblue"&gt;&lt;code&gt;Painter.blue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#paintermagenta"&gt;&lt;code&gt;Painter.magenta&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#paintercyan"&gt;&lt;code&gt;Painter.cyan&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#paintergray"&gt;&lt;code&gt;Painter.gray&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#color_enabled"&gt;&lt;code&gt;color_enabled&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#painter"&gt;&lt;code&gt;painter&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#strip"&gt;&lt;code&gt;strip&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="painter"&gt;Painter&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Painter&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;on&lt;/span&gt;: &lt;span class="nc"&gt;Bool&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wraps text in ANSI styles when &lt;code&gt;on&lt;/code&gt;, else returns it unchanged. Make&#10;one with &lt;code&gt;painter&lt;/code&gt;; &lt;code&gt;Painter{on: false}&lt;/code&gt; in tests.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/term.xo#L10"&gt;Source: &lt;code&gt;std/term.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="painterbold"&gt;Painter.bold&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;: &lt;span class="nc"&gt;Painter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;bold&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/term.xo#L21"&gt;Source: &lt;code&gt;std/term.xo:21&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="painterdim"&gt;Painter.dim&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;: &lt;span class="nc"&gt;Painter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dim&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/term.xo#L22"&gt;Source: &lt;code&gt;std/term.xo:22&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="painterunderline"&gt;Painter.underline&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;: &lt;span class="nc"&gt;Painter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;underline&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/term.xo#L23"&gt;Source: &lt;code&gt;std/term.xo:23&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="painterred"&gt;Painter.red&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;: &lt;span class="nc"&gt;Painter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;red&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/term.xo#L24"&gt;Source: &lt;code&gt;std/term.xo:24&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="paintergreen"&gt;Painter.green&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;: &lt;span class="nc"&gt;Painter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;green&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/term.xo#L25"&gt;Source: &lt;code&gt;std/term.xo:25&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="painteryellow"&gt;Painter.yellow&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;: &lt;span class="nc"&gt;Painter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;yellow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/term.xo#L26"&gt;Source: &lt;code&gt;std/term.xo:26&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/testing</title><link>https://xolang.dev/docs/stdlib/testing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/testing/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#testos"&gt;&lt;code&gt;TestOs&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#expect"&gt;&lt;code&gt;Expect&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fakenet"&gt;&lt;code&gt;FakeNet&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#fakenetlisten"&gt;&lt;code&gt;FakeNet.listen&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakenetdial"&gt;&lt;code&gt;FakeNet.dial&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakenetdial_timeout"&gt;&lt;code&gt;FakeNet.dial_timeout&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakenetlookup_host"&gt;&lt;code&gt;FakeNet.lookup_host&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakenetinterfaces"&gt;&lt;code&gt;FakeNet.interfaces&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakenetonly"&gt;&lt;code&gt;FakeNet.only&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakenethandle"&gt;&lt;code&gt;FakeNet.handle&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakenethandle_tls"&gt;&lt;code&gt;FakeNet.handle_tls&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakenetfail"&gt;&lt;code&gt;FakeNet.fail&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakenetfail_next"&gt;&lt;code&gt;FakeNet.fail_next&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakenetclear_failures"&gt;&lt;code&gt;FakeNet.clear_failures&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakenetrequests"&gt;&lt;code&gt;FakeNet.requests&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fakeclock"&gt;&lt;code&gt;FakeClock&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#fakeclocknow"&gt;&lt;code&gt;FakeClock.now&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeclocksleep"&gt;&lt;code&gt;FakeClock.sleep&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeclocksleep_or_cancel"&gt;&lt;code&gt;FakeClock.sleep_or_cancel&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeclocksince"&gt;&lt;code&gt;FakeClock.since&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeclockadvance"&gt;&lt;code&gt;FakeClock.advance&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeclockset"&gt;&lt;code&gt;FakeClock.set&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeclocksleeps"&gt;&lt;code&gt;FakeClock.sleeps&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fsop"&gt;&lt;code&gt;FsOp&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#memfs"&gt;&lt;code&gt;MemFs&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#memfssub"&gt;&lt;code&gt;MemFs.sub&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfscwd"&gt;&lt;code&gt;MemFs.cwd&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfscwd_path"&gt;&lt;code&gt;MemFs.cwd_path&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsread_only"&gt;&lt;code&gt;MemFs.read_only&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfswrite_only"&gt;&lt;code&gt;MemFs.write_only&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfscase_sensitive"&gt;&lt;code&gt;MemFs.case_sensitive&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsstat"&gt;&lt;code&gt;MemFs.stat&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsexists"&gt;&lt;code&gt;MemFs.exists&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsdisk_usage"&gt;&lt;code&gt;MemFs.disk_usage&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsread"&gt;&lt;code&gt;MemFs.read&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsread_text"&gt;&lt;code&gt;MemFs.read_text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsread_dir"&gt;&lt;code&gt;MemFs.read_dir&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfswalk"&gt;&lt;code&gt;MemFs.walk&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfswrite"&gt;&lt;code&gt;MemFs.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfscreate_temp"&gt;&lt;code&gt;MemFs.create_temp&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsrename"&gt;&lt;code&gt;MemFs.rename&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsremove"&gt;&lt;code&gt;MemFs.remove&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsremove_all"&gt;&lt;code&gt;MemFs.remove_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfscreate_dir_all"&gt;&lt;code&gt;MemFs.create_dir_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsset_modified"&gt;&lt;code&gt;MemFs.set_modified&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsopen"&gt;&lt;code&gt;MemFs.open&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfscreate"&gt;&lt;code&gt;MemFs.create&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsopen_append"&gt;&lt;code&gt;MemFs.open_append&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsopen_rw"&gt;&lt;code&gt;MemFs.open_rw&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfscreate_new"&gt;&lt;code&gt;MemFs.create_new&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsappend"&gt;&lt;code&gt;MemFs.append&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfscopy"&gt;&lt;code&gt;MemFs.copy&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsmode"&gt;&lt;code&gt;MemFs.mode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsset_mode"&gt;&lt;code&gt;MemFs.set_mode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfssymlink"&gt;&lt;code&gt;MemFs.symlink&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsread_link"&gt;&lt;code&gt;MemFs.read_link&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsglob"&gt;&lt;code&gt;MemFs.glob&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfslock"&gt;&lt;code&gt;MemFs.lock&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfstry_lock"&gt;&lt;code&gt;MemFs.try_lock&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsfail_next"&gt;&lt;code&gt;MemFs.fail_next&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsset_case_sensitive"&gt;&lt;code&gt;MemFs.set_case_sensitive&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsset_disk_usage"&gt;&lt;code&gt;MemFs.set_disk_usage&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#memfsfiles"&gt;&lt;code&gt;MemFs.files&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fakeenv"&gt;&lt;code&gt;FakeEnv&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#fakeenvget"&gt;&lt;code&gt;FakeEnv.get&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeenvvars"&gt;&lt;code&gt;FakeEnv.vars&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeenvargs"&gt;&lt;code&gt;FakeEnv.args&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeenvprogram"&gt;&lt;code&gt;FakeEnv.program&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeenvhome"&gt;&lt;code&gt;FakeEnv.home&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeenvonly"&gt;&lt;code&gt;FakeEnv.only&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeenvconfig_dir"&gt;&lt;code&gt;FakeEnv.config_dir&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeenvcache_dir"&gt;&lt;code&gt;FakeEnv.cache_dir&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeenvhostname"&gt;&lt;code&gt;FakeEnv.hostname&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeenvset"&gt;&lt;code&gt;FakeEnv.set&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeenvset_args"&gt;&lt;code&gt;FakeEnv.set_args&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fakestdio"&gt;&lt;code&gt;FakeStdio&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioprint"&gt;&lt;code&gt;FakeStdio.print&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioprintln"&gt;&lt;code&gt;FakeStdio.println&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioeprint"&gt;&lt;code&gt;FakeStdio.eprint&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioeprintln"&gt;&lt;code&gt;FakeStdio.eprintln&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdiowrite"&gt;&lt;code&gt;FakeStdio.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioread_line"&gt;&lt;code&gt;FakeStdio.read_line&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioread_all"&gt;&lt;code&gt;FakeStdio.read_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdiolines"&gt;&lt;code&gt;FakeStdio.lines&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdiostdin_is_tty"&gt;&lt;code&gt;FakeStdio.stdin_is_tty&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdiostdout_is_tty"&gt;&lt;code&gt;FakeStdio.stdout_is_tty&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdiostderr_is_tty"&gt;&lt;code&gt;FakeStdio.stderr_is_tty&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdiowidth"&gt;&lt;code&gt;FakeStdio.width&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioread_secret"&gt;&lt;code&gt;FakeStdio.read_secret&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioread_bytes"&gt;&lt;code&gt;FakeStdio.read_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioread_all_bytes"&gt;&lt;code&gt;FakeStdio.read_all_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioset_input"&gt;&lt;code&gt;FakeStdio.set_input&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioset_tty"&gt;&lt;code&gt;FakeStdio.set_tty&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioset_input_bytes"&gt;&lt;code&gt;FakeStdio.set_input_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdiooutput"&gt;&lt;code&gt;FakeStdio.output&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakestdioerrors"&gt;&lt;code&gt;FakeStdio.errors&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#fakeproc"&gt;&lt;code&gt;FakeProc&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocexit"&gt;&lt;code&gt;FakeProc.exit&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocset_grace"&gt;&lt;code&gt;FakeProc.set_grace&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocrun"&gt;&lt;code&gt;FakeProc.run&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeproconly"&gt;&lt;code&gt;FakeProc.only&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeproccmd"&gt;&lt;code&gt;FakeProc.cmd&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocpipeline"&gt;&lt;code&gt;FakeProc.pipeline&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocexit_code"&gt;&lt;code&gt;FakeProc.exit_code&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocsignal_after"&gt;&lt;code&gt;FakeProc.signal_after&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocon_run"&gt;&lt;code&gt;FakeProc.on_run&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprockill"&gt;&lt;code&gt;FakeProc.kill&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocnotify"&gt;&lt;code&gt;FakeProc.notify&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocstop_notify"&gt;&lt;code&gt;FakeProc.stop_notify&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocrequest_stop"&gt;&lt;code&gt;FakeProc.request_stop&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocpid"&gt;&lt;code&gt;FakeProc.pid&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocppid"&gt;&lt;code&gt;FakeProc.ppid&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocusage"&gt;&lt;code&gt;FakeProc.usage&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprocchildren_usage"&gt;&lt;code&gt;FakeProc.children_usage&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#fakeprockilled"&gt;&lt;code&gt;FakeProc.killed&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#expect"&gt;&lt;code&gt;expect&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#gen"&gt;&lt;code&gt;gen&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#logs"&gt;&lt;code&gt;logs&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#fake_db"&gt;&lt;code&gt;fake_db&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#run_main"&gt;&lt;code&gt;run_main&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="testos"&gt;TestOs&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;TestOs&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;net&lt;/span&gt;: &lt;span class="nc"&gt;FakeNet&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;fs&lt;/span&gt;: &lt;span class="nc"&gt;MemFs&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;clock&lt;/span&gt;: &lt;span class="nc"&gt;FakeClock&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rand&lt;/span&gt;: &lt;span class="nc"&gt;Rand&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;env&lt;/span&gt;: &lt;span class="nc"&gt;FakeEnv&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;stdio&lt;/span&gt;: &lt;span class="nc"&gt;FakeStdio&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;proc&lt;/span&gt;: &lt;span class="nc"&gt;FakeProc&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tasks&lt;/span&gt;: &lt;span class="nc"&gt;task&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Group&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/testing.xo#L17"&gt;Source: &lt;code&gt;std/testing.xo:17&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/time</title><link>https://xolang.dev/docs/stdlib/time/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/time/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;const &lt;a href="#rfc3339"&gt;&lt;code&gt;RFC3339&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#rfc1123"&gt;&lt;code&gt;RFC1123&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#date"&gt;&lt;code&gt;DATE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#time"&gt;&lt;code&gt;TIME&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#rfc3339_layout"&gt;&lt;code&gt;RFC3339_LAYOUT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#rfc1123_layout"&gt;&lt;code&gt;RFC1123_LAYOUT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#date_layout"&gt;&lt;code&gt;DATE_LAYOUT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#time_layout"&gt;&lt;code&gt;TIME_LAYOUT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#zone"&gt;&lt;code&gt;Zone&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#zonedisplay"&gt;&lt;code&gt;Zone.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#zonename"&gt;&lt;code&gt;Zone.name&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#zoneoffset_at"&gt;&lt;code&gt;Zone.offset_at&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#zoneabbreviation_at"&gt;&lt;code&gt;Zone.abbreviation_at&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#zoneerr"&gt;&lt;code&gt;ZoneErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#zoneerrdisplay"&gt;&lt;code&gt;ZoneErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#date"&gt;&lt;code&gt;Date&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#dateweekday"&gt;&lt;code&gt;Date.weekday&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dateadd_days"&gt;&lt;code&gt;Date.add_days&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#dateadd_months"&gt;&lt;code&gt;Date.add_months&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#datedays_until"&gt;&lt;code&gt;Date.days_until&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#datedisplay"&gt;&lt;code&gt;Date.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#clocktime"&gt;&lt;code&gt;ClockTime&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#civil"&gt;&lt;code&gt;Civil&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#weekday"&gt;&lt;code&gt;Weekday&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#weekdaynumber"&gt;&lt;code&gt;Weekday.number&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#ambiguity"&gt;&lt;code&gt;Ambiguity&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#civilerr"&gt;&lt;code&gt;CivilErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#civilerrdisplay"&gt;&lt;code&gt;CivilErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#ticker"&gt;&lt;code&gt;Ticker&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#tickerwait"&gt;&lt;code&gt;Ticker.wait&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tickerreset"&gt;&lt;code&gt;Ticker.reset&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#layout"&gt;&lt;code&gt;Layout&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#layoutdisplay"&gt;&lt;code&gt;Layout.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#layoutformat"&gt;&lt;code&gt;Layout.format&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#layoutparse"&gt;&lt;code&gt;Layout.parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#parseerr"&gt;&lt;code&gt;ParseErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#parseerrdisplay"&gt;&lt;code&gt;ParseErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#layouterr"&gt;&lt;code&gt;LayoutErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#layouterrdisplay"&gt;&lt;code&gt;LayoutErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#utc"&gt;&lt;code&gt;utc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#zone"&gt;&lt;code&gt;zone&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#fixed"&gt;&lt;code&gt;fixed&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#local"&gt;&lt;code&gt;local&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#civil"&gt;&lt;code&gt;civil&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#instant"&gt;&lt;code&gt;instant&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#date"&gt;&lt;code&gt;date&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#weekday_from"&gt;&lt;code&gt;weekday_from&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#truncate"&gt;&lt;code&gt;truncate&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#round"&gt;&lt;code&gt;round&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#ticker"&gt;&lt;code&gt;ticker&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#layout"&gt;&lt;code&gt;layout&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#format"&gt;&lt;code&gt;format&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#check_layout"&gt;&lt;code&gt;check_layout&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="rfc3339"&gt;RFC3339&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;RFC3339&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{year}-{month}-{day}T{hour}:{minute}:{second}{frac}{offset}&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/time.xo#L146"&gt;Source: &lt;code&gt;std/time.xo:146&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="rfc1123"&gt;RFC1123&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;RFC1123&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{weekday:short}, {day} {month:short} {year} {hour}:{minute}:{second} {zone}&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;HTTP dates.&lt;/p&gt;</description></item><item><title>std/timego</title><link>https://xolang.dev/docs/stdlib/timego/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/timego/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;const &lt;a href="#ansic"&gt;&lt;code&gt;ANSIC&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#unix_date"&gt;&lt;code&gt;UNIX_DATE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#ruby_date"&gt;&lt;code&gt;RUBY_DATE&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#rfc822"&gt;&lt;code&gt;RFC822&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#rfc822z"&gt;&lt;code&gt;RFC822Z&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#rfc850"&gt;&lt;code&gt;RFC850&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#rfc1123"&gt;&lt;code&gt;RFC1123&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#rfc1123z"&gt;&lt;code&gt;RFC1123Z&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#rfc3339"&gt;&lt;code&gt;RFC3339&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#rfc3339_nano"&gt;&lt;code&gt;RFC3339_NANO&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#kitchen"&gt;&lt;code&gt;KITCHEN&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#stamp"&gt;&lt;code&gt;STAMP&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#stamp_milli"&gt;&lt;code&gt;STAMP_MILLI&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#stamp_micro"&gt;&lt;code&gt;STAMP_MICRO&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#stamp_nano"&gt;&lt;code&gt;STAMP_NANO&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#date_time"&gt;&lt;code&gt;DATE_TIME&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#date_only"&gt;&lt;code&gt;DATE_ONLY&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#time_only"&gt;&lt;code&gt;TIME_ONLY&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#layout"&gt;&lt;code&gt;Layout&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#layoutformat"&gt;&lt;code&gt;Layout.format&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#layoutparse"&gt;&lt;code&gt;Layout.parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#layout"&gt;&lt;code&gt;layout&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#format"&gt;&lt;code&gt;format&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="ansic"&gt;ANSIC&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;ANSIC&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Mon Jan _2 15:04:05 2006&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Go&amp;rsquo;s layout constants (time/format.go).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/timego.xo#L7"&gt;Source: &lt;code&gt;std/timego.xo:7&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="unix_date"&gt;UNIX_DATE&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;UNIX_DATE&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Mon Jan _2 15:04:05 MST 2006&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/timego.xo#L8"&gt;Source: &lt;code&gt;std/timego.xo:8&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="ruby_date"&gt;RUBY_DATE&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;RUBY_DATE&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Mon Jan 02 15:04:05 -0700 2006&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/timego.xo#L9"&gt;Source: &lt;code&gt;std/timego.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="rfc822"&gt;RFC822&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;RFC822&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;02 Jan 06 15:04 MST&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/timego.xo#L10"&gt;Source: &lt;code&gt;std/timego.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/tls</title><link>https://xolang.dev/docs/stdlib/tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/tls/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#verify"&gt;&lt;code&gt;Verify&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#roots"&gt;&lt;code&gt;Roots&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#tlserr"&gt;&lt;code&gt;TlsErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#tlserrdisplay"&gt;&lt;code&gt;TlsErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#tlscert"&gt;&lt;code&gt;TlsCert&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#clientauth"&gt;&lt;code&gt;ClientAuth&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#tlsconn"&gt;&lt;code&gt;TlsConn&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#tlsconnread"&gt;&lt;code&gt;TlsConn.read&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tlsconnwrite"&gt;&lt;code&gt;TlsConn.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tlsconnclose"&gt;&lt;code&gt;TlsConn.close&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tlsconnset_deadline"&gt;&lt;code&gt;TlsConn.set_deadline&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tlsconnset_read_deadline"&gt;&lt;code&gt;TlsConn.set_read_deadline&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tlsconnset_write_deadline"&gt;&lt;code&gt;TlsConn.set_write_deadline&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tlsconnalpn"&gt;&lt;code&gt;TlsConn.alpn&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tlsconnversion"&gt;&lt;code&gt;TlsConn.version&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#tlsconnpeer_certificates"&gt;&lt;code&gt;TlsConn.peer_certificates&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#roots"&gt;&lt;code&gt;roots&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#roots_of"&gt;&lt;code&gt;roots_of&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#cert"&gt;&lt;code&gt;cert&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#client"&gt;&lt;code&gt;client&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#pin_sha1"&gt;&lt;code&gt;pin_sha1&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#pin_sha256"&gt;&lt;code&gt;pin_sha256&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="verify"&gt;Verify&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Verify&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Full&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ChainOnly&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;None&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;How the server&amp;rsquo;s certificate is checked (std.md 27).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/tls.xo#L9"&gt;Source: &lt;code&gt;std/tls.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="roots"&gt;Roots&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Roots&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Certificates a client trusts (std.md 27); a handle.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/tls.xo#L16"&gt;Source: &lt;code&gt;std/tls.xo:16&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="tlserr"&gt;TlsErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;TlsErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/tls.xo#L18"&gt;Source: &lt;code&gt;std/tls.xo:18&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="tlserrdisplay"&gt;TlsErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;TlsErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The message (decision 0358).&lt;/p&gt;</description></item><item><title>std/toml</title><link>https://xolang.dev/docs/stdlib/toml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/toml/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#tomlerr"&gt;&lt;code&gt;TomlErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#tomlerrdisplay"&gt;&lt;code&gt;TomlErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#decodeerr"&gt;&lt;code&gt;DecodeErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#decodeerrdisplay"&gt;&lt;code&gt;DecodeErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode"&gt;&lt;code&gt;decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_json"&gt;&lt;code&gt;to_json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode"&gt;&lt;code&gt;encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="tomlerr"&gt;TomlErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;TomlErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Displays as &lt;code&gt;toml: line 3: expected a value after =&lt;/code&gt;; an encode error&#10;has line 0 and displays as &lt;code&gt;toml: msg&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/toml.xo#L10"&gt;Source: &lt;code&gt;std/toml.xo:10&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="tomlerrdisplay"&gt;TomlErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;TomlErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/toml.xo#L15"&gt;Source: &lt;code&gt;std/toml.xo:15&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="decodeerr"&gt;DecodeErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;DecodeErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Syntax&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;err&lt;/span&gt;: &lt;span class="nc"&gt;TomlErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;err&lt;/span&gt;: &lt;span class="nc"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DecodeErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Why decode failed: the text is not TOML, or its values do not fit T.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/toml.xo#L34"&gt;Source: &lt;code&gt;std/toml.xo:34&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="decodeerrdisplay"&gt;DecodeErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;DecodeErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/toml.xo#L39"&gt;Source: &lt;code&gt;std/toml.xo:39&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/trace</title><link>https://xolang.dev/docs/stdlib/trace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/trace/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#span"&gt;&lt;code&gt;Span&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#ring"&gt;&lt;code&gt;Ring&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#ringmiddleware"&gt;&lt;code&gt;Ring.middleware&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#ringrecord"&gt;&lt;code&gt;Ring.record&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#ringspans"&gt;&lt;code&gt;Ring.spans&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#ringhandler"&gt;&lt;code&gt;Ring.handler&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#ring"&gt;&lt;code&gt;ring&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#id"&gt;&lt;code&gt;id&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="span"&gt;Span&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Span&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;start_ms&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;micros&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Json&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;One timed piece of work of a request: the request&amp;rsquo;s id, the span&amp;rsquo;s name&#10;(&lt;code&gt;request&lt;/code&gt; for the whole request, a program&amp;rsquo;s own for the rest), when it&#10;started (Unix milliseconds), how long it took (microseconds), and the&#10;response status for &lt;code&gt;request&lt;/code&gt; spans (0 otherwise).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/trace.xo#L12"&gt;Source: &lt;code&gt;std/trace.xo:12&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/udp</title><link>https://xolang.dev/docs/stdlib/udp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/udp/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#udpconn"&gt;&lt;code&gt;UdpConn&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#udpconnread_from"&gt;&lt;code&gt;UdpConn.read_from&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#udpconnwrite_to"&gt;&lt;code&gt;UdpConn.write_to&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#udpconnread"&gt;&lt;code&gt;UdpConn.read&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#udpconnwrite"&gt;&lt;code&gt;UdpConn.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#udpconnlocal_addr"&gt;&lt;code&gt;UdpConn.local_addr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#udpconnclose"&gt;&lt;code&gt;UdpConn.close&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#listen"&gt;&lt;code&gt;listen&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#dial"&gt;&lt;code&gt;dial&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="udpconn"&gt;UdpConn&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;UdpConn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A UDP socket: bound by &lt;code&gt;listen&lt;/code&gt; (any peer) or connected by &lt;code&gt;dial&lt;/code&gt;&#10;(one peer). A handle; &lt;code&gt;close&lt;/code&gt; is idempotent.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/udp.xo#L7"&gt;Source: &lt;code&gt;std/udp.xo:7&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="udpconnread_from"&gt;UdpConn.read_from&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;: &lt;span class="nc"&gt;UdpConn&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;read_from&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;65535&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;NetErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;uses&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;net&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The next datagram and its sender (&amp;ldquo;ip:port&amp;rdquo;); a datagram longer than&#10;max is cut to max, the rest discarded (Go&amp;rsquo;s ReadFrom).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/udp.xo#L18"&gt;Source: &lt;code&gt;std/udp.xo:18&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="udpconnwrite_to"&gt;UdpConn.write_to&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;: &lt;span class="nc"&gt;UdpConn&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;write_to&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;addr&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;NetErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;uses&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;net&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Sends data as one datagram to addr; Net.only checks addr.&lt;/p&gt;</description></item><item><title>std/url</title><link>https://xolang.dev/docs/stdlib/url/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/url/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#escapeerr"&gt;&lt;code&gt;EscapeErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#escapeerrdisplay"&gt;&lt;code&gt;EscapeErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#values"&gt;&lt;code&gt;Values&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#valuesget"&gt;&lt;code&gt;Values.get&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#valuesall"&gt;&lt;code&gt;Values.all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#valueshas"&gt;&lt;code&gt;Values.has&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#valueskeys"&gt;&lt;code&gt;Values.keys&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#valuesencode"&gt;&lt;code&gt;Values.encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#valuesadd"&gt;&lt;code&gt;Values.add&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#valuesset"&gt;&lt;code&gt;Values.set&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#valuesremove"&gt;&lt;code&gt;Values.remove&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#query_escape"&gt;&lt;code&gt;query_escape&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#query_unescape"&gt;&lt;code&gt;query_unescape&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#path_escape"&gt;&lt;code&gt;path_escape&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#path_unescape"&gt;&lt;code&gt;path_unescape&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#values"&gt;&lt;code&gt;values&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_query"&gt;&lt;code&gt;parse_query&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="escapeerr"&gt;EscapeErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;EscapeErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A malformed escape or query; displays as Go&amp;rsquo;s text, for example&#10;&lt;code&gt;invalid URL escape &amp;quot;%zz&amp;quot;&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/url.xo#L7"&gt;Source: &lt;code&gt;std/url.xo:7&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="escapeerrdisplay"&gt;EscapeErr.display&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;: &lt;span class="nc"&gt;EscapeErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/url.xo#L11"&gt;Source: &lt;code&gt;std/url.xo:11&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="values"&gt;Values&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Values&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Query keys with their values in order (url.Values): keys in the order&#10;they first appeared, each with every value given for it. A value, not&#10;a handle.&lt;/p&gt;</description></item><item><title>std/uuid</title><link>https://xolang.dev/docs/stdlib/uuid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/uuid/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#uuid"&gt;&lt;code&gt;Uuid&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#uuidversion"&gt;&lt;code&gt;Uuid.version&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#uuidbytes"&gt;&lt;code&gt;Uuid.bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#uuiddisplay"&gt;&lt;code&gt;Uuid.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#uuiddebug"&gt;&lt;code&gt;Uuid.debug&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#uuiderr"&gt;&lt;code&gt;UuidErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#uuiderrdisplay"&gt;&lt;code&gt;UuidErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#v4"&gt;&lt;code&gt;v4&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#v7"&gt;&lt;code&gt;v7&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#from_bytes"&gt;&lt;code&gt;from_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#nil"&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="uuid"&gt;Uuid&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Uuid&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hi&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;lo&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Ord&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A UUID: its 16 bytes as two words. &lt;code&gt;u.display()&lt;/code&gt; (or &lt;code&gt;&amp;quot;${u}&amp;quot;&lt;/code&gt;) is its&#10;canonical text, &lt;code&gt;u.bytes()&lt;/code&gt; its bytes, &lt;code&gt;u &amp;lt; v&lt;/code&gt; the order of its bytes.&#10;@internal: use &lt;code&gt;u.bytes()&lt;/code&gt; and &lt;code&gt;uuid.from_bytes(b)&lt;/code&gt;, &lt;code&gt;u.display()&lt;/code&gt; and &lt;code&gt;uuid.parse(s)&lt;/code&gt;, or &lt;code&gt;u &amp;lt; v&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/uuid.xo#L12"&gt;Source: &lt;code&gt;std/uuid.xo:12&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="uuidversion"&gt;Uuid.version&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;u&lt;/span&gt;: &lt;span class="nc"&gt;Uuid&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/uuid.xo#L40"&gt;Source: &lt;code&gt;std/uuid.xo:40&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="uuidbytes"&gt;Uuid.bytes&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;u&lt;/span&gt;: &lt;span class="nc"&gt;Uuid&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;bytes&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&amp;gt; &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/uuid.xo#L41"&gt;Source: &lt;code&gt;std/uuid.xo:41&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/websocket</title><link>https://xolang.dev/docs/stdlib/websocket/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/websocket/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#message"&gt;&lt;code&gt;Message&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#kind"&gt;&lt;code&gt;Kind&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#wserr"&gt;&lt;code&gt;WsErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#wserrdisplay"&gt;&lt;code&gt;WsErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#wsconn"&gt;&lt;code&gt;WsConn&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#wsconnread"&gt;&lt;code&gt;WsConn.read&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#wsconnwrite"&gt;&lt;code&gt;WsConn.write&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#wsconnwrite_text"&gt;&lt;code&gt;WsConn.write_text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#wsconnping"&gt;&lt;code&gt;WsConn.ping&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#wsconnclose"&gt;&lt;code&gt;WsConn.close&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#wsconnsubprotocol"&gt;&lt;code&gt;WsConn.subprotocol&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#wsconnset_deadline"&gt;&lt;code&gt;WsConn.set_deadline&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#wsconnset_read_deadline"&gt;&lt;code&gt;WsConn.set_read_deadline&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#wsconnset_write_deadline"&gt;&lt;code&gt;WsConn.set_write_deadline&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#wsconnon_ping"&gt;&lt;code&gt;WsConn.on_ping&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#wsconnon_pong"&gt;&lt;code&gt;WsConn.on_pong&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#wsconnpong"&gt;&lt;code&gt;WsConn.pong&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#upgrade"&gt;&lt;code&gt;upgrade&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#dial"&gt;&lt;code&gt;dial&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="message"&gt;Message&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Message&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;kind&lt;/span&gt;: &lt;span class="nc"&gt;Kind&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A whole message: its kind and data (a text message&amp;rsquo;s data is valid&#10;UTF-8).&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/websocket.xo#L9"&gt;Source: &lt;code&gt;std/websocket.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="kind"&gt;Kind&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;Kind&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Binary&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/websocket.xo#L14"&gt;Source: &lt;code&gt;std/websocket.xo:14&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="wserr"&gt;WsErr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;WsErr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Closed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;code&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;reason&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Protocol&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TooBig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;limit&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Net&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;err&lt;/span&gt;: &lt;span class="nc"&gt;NetErr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Handshake&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Why a connection stopped or an operation failed. Displays as&#10;gorilla&amp;rsquo;s errors: &lt;code&gt;websocket: close 1001 (going away): bye&lt;/code&gt;,&#10;&lt;code&gt;websocket: unknown opcode 3&lt;/code&gt;, &lt;code&gt;websocket: read limit exceeded&lt;/code&gt;,&#10;&lt;code&gt;websocket: bad handshake&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>std/x509</title><link>https://xolang.dev/docs/stdlib/x509/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/x509/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#name"&gt;&lt;code&gt;Name&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#namedisplay"&gt;&lt;code&gt;Name.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#nameattributes"&gt;&lt;code&gt;Name.attributes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#extension"&gt;&lt;code&gt;Extension&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#keyusage"&gt;&lt;code&gt;KeyUsage&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#extkeyusage"&gt;&lt;code&gt;ExtKeyUsage&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#certificate"&gt;&lt;code&gt;Certificate&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#certificateverify"&gt;&lt;code&gt;Certificate.verify&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#certificateverify_hostname"&gt;&lt;code&gt;Certificate.verify_hostname&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#certificatecheck_signature_from"&gt;&lt;code&gt;Certificate.check_signature_from&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#certificatepem"&gt;&lt;code&gt;Certificate.pem&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#certerr"&gt;&lt;code&gt;CertErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#certerrdisplay"&gt;&lt;code&gt;CertErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#pkcs12"&gt;&lt;code&gt;Pkcs12&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#verifyoptions"&gt;&lt;code&gt;VerifyOptions&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#template"&gt;&lt;code&gt;Template&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#certificaterequest"&gt;&lt;code&gt;CertificateRequest&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#certificaterequestcheck_signature"&gt;&lt;code&gt;CertificateRequest.check_signature&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#certificaterequestpem"&gt;&lt;code&gt;CertificateRequest.pem&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#requesttemplate"&gt;&lt;code&gt;RequestTemplate&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#revokedcertificate"&gt;&lt;code&gt;RevokedCertificate&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#revocationlist"&gt;&lt;code&gt;RevocationList&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#revocationlistcheck_signature_from"&gt;&lt;code&gt;RevocationList.check_signature_from&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_pkcs12"&gt;&lt;code&gt;parse_pkcs12&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_pem"&gt;&lt;code&gt;parse_pem&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#create_certificate"&gt;&lt;code&gt;create_certificate&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#self_signed"&gt;&lt;code&gt;self_signed&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#create_request"&gt;&lt;code&gt;create_request&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_request"&gt;&lt;code&gt;parse_request&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_revocation_list"&gt;&lt;code&gt;parse_revocation_list&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#system_roots"&gt;&lt;code&gt;system_roots&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="name"&gt;Name&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;country&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;organization&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;organizational_unit&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;locality&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;province&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;street_address&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;postal_code&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;serial_number&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;common_name&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;raw&lt;/span&gt;: &lt;span class="nc"&gt;Bytes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sa"&gt;b&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A distinguished name (Go&amp;rsquo;s pkix.Name): the common attributes, each&#10;list in the order the name has them, and its DER. A Name to build&#10;(Template.subject) leaves raw empty and sets the fields it needs.&lt;/p&gt;</description></item><item><title>std/xml</title><link>https://xolang.dev/docs/stdlib/xml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/xml/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#name"&gt;&lt;code&gt;Name&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#attr"&gt;&lt;code&gt;Attr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#token"&gt;&lt;code&gt;Token&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#xmlerr"&gt;&lt;code&gt;XmlErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#xmlerrdisplay"&gt;&lt;code&gt;XmlErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#reader"&gt;&lt;code&gt;Reader&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#readernext"&gt;&lt;code&gt;Reader.next&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#element"&gt;&lt;code&gt;Element&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#elementattr"&gt;&lt;code&gt;Element.attr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#elementchild"&gt;&lt;code&gt;Element.child&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#elementchildren_named"&gt;&lt;code&gt;Element.children_named&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#elementtext"&gt;&lt;code&gt;Element.text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;method &lt;a href="#elementencode"&gt;&lt;code&gt;Element.encode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#node"&gt;&lt;code&gt;Node&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#tokens"&gt;&lt;code&gt;tokens&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#raw_tokens"&gt;&lt;code&gt;raw_tokens&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#reader"&gt;&lt;code&gt;reader&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#raw_reader"&gt;&lt;code&gt;raw_reader&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#escape"&gt;&lt;code&gt;escape&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#escape_to"&gt;&lt;code&gt;escape_to&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_value"&gt;&lt;code&gt;encode_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode"&gt;&lt;code&gt;decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="name"&gt;Name&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;space&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;local&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Eq&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Ord&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Hash&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;An element or attribute name. &lt;code&gt;space&lt;/code&gt; is the namespace URL once&#10;resolved (the prefix itself in raw tokens); empty for none.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/xml.xo#L9"&gt;Source: &lt;code&gt;std/xml.xo:9&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h3 id="attr"&gt;Attr&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Attr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;: &lt;span class="nc"&gt;Name&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;derive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Eq&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/xml.xo#L14"&gt;Source: &lt;code&gt;std/xml.xo:14&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/xmlcodec</title><link>https://xolang.dev/docs/stdlib/xmlcodec/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/xmlcodec/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;type &lt;a href="#piece"&gt;&lt;code&gt;Piece&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#writer"&gt;&lt;code&gt;Writer&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#event"&gt;&lt;code&gt;Event&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#open_path"&gt;&lt;code&gt;open_path&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#leaf"&gt;&lt;code&gt;leaf&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#child"&gt;&lt;code&gt;child&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#chardata"&gt;&lt;code&gt;chardata&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#comment"&gt;&lt;code&gt;comment&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#attr"&gt;&lt;code&gt;attr&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#build"&gt;&lt;code&gt;build&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#writer"&gt;&lt;code&gt;writer&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#write_start"&gt;&lt;code&gt;write_start&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#write_open"&gt;&lt;code&gt;write_open&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#write_leaf"&gt;&lt;code&gt;write_leaf&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#write_chardata"&gt;&lt;code&gt;write_chardata&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#write_end"&gt;&lt;code&gt;write_end&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#written"&gt;&lt;code&gt;written&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_root"&gt;&lt;code&gt;parse_root&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#attr_of"&gt;&lt;code&gt;attr_of&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#events"&gt;&lt;code&gt;events&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#direct_text"&gt;&lt;code&gt;direct_text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#float_text"&gt;&lt;code&gt;float_text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#int_of"&gt;&lt;code&gt;int_of&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#float_of"&gt;&lt;code&gt;float_of&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#bool_of"&gt;&lt;code&gt;bool_of&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;h3 id="piece"&gt;Piece&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Piece&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;parents&lt;/span&gt;: &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;kind&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;: &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;el&lt;/span&gt;: &lt;span class="nc"&gt;xml&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Element&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;None&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;One part of a struct&amp;rsquo;s element: its &lt;code&gt;parents&lt;/code&gt; path (the &lt;code&gt;a&amp;gt;b&lt;/code&gt; of a&#10;field&amp;rsquo;s name, empty for none), and what to write there.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/xo-lang/xo/blob/main/std/xmlcodec.xo#L12"&gt;Source: &lt;code&gt;std/xmlcodec.xo:12&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>std/yaml</title><link>https://xolang.dev/docs/stdlib/yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://xolang.dev/docs/stdlib/yaml/</guid><description>&lt;h2 id="index"&gt;Index&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;const &lt;a href="#tagged"&gt;&lt;code&gt;TAGGED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#double_quoted"&gt;&lt;code&gt;DOUBLE_QUOTED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#single_quoted"&gt;&lt;code&gt;SINGLE_QUOTED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#literal"&gt;&lt;code&gt;LITERAL&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#folded"&gt;&lt;code&gt;FOLDED&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;const &lt;a href="#flow"&gt;&lt;code&gt;FLOW&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#yamlerr"&gt;&lt;code&gt;YamlErr&lt;/code&gt;&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;method &lt;a href="#yamlerrdisplay"&gt;&lt;code&gt;YamlErr.display&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#nodekind"&gt;&lt;code&gt;NodeKind&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#node"&gt;&lt;code&gt;Node&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#rawnode"&gt;&lt;code&gt;RawNode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#doc"&gt;&lt;code&gt;Doc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#ev"&gt;&lt;code&gt;Ev&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#enc"&gt;&lt;code&gt;Enc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;type &lt;a href="#dec"&gt;&lt;code&gt;Dec&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode"&gt;&lt;code&gt;decode&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_value"&gt;&lt;code&gt;encode_value&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#decode_all"&gt;&lt;code&gt;decode_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_all"&gt;&lt;code&gt;encode_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse"&gt;&lt;code&gt;parse&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_all"&gt;&lt;code&gt;parse_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_json"&gt;&lt;code&gt;to_json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#encode_node"&gt;&lt;code&gt;encode_node&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_doc"&gt;&lt;code&gt;parse_doc&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#root"&gt;&lt;code&gt;root&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#is_null"&gt;&lt;code&gt;is_null&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_str"&gt;&lt;code&gt;to_str&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_int"&gt;&lt;code&gt;to_int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_float"&gt;&lt;code&gt;to_float&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_bool"&gt;&lt;code&gt;to_bool&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#items"&gt;&lt;code&gt;items&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#pairs"&gt;&lt;code&gt;pairs&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#bad_key"&gt;&lt;code&gt;bad_key&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#errors"&gt;&lt;code&gt;errors&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#zero_node"&gt;&lt;code&gt;zero_node&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_node"&gt;&lt;code&gt;put_node&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_node_field"&gt;&lt;code&gt;to_node_field&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#enc_new"&gt;&lt;code&gt;enc_new&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#set_flow"&gt;&lt;code&gt;set_flow&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#map_start"&gt;&lt;code&gt;map_start&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#map_end"&gt;&lt;code&gt;map_end&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#seq_start"&gt;&lt;code&gt;seq_start&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#seq_end"&gt;&lt;code&gt;seq_end&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_null"&gt;&lt;code&gt;put_null&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_bool"&gt;&lt;code&gt;put_bool&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_int"&gt;&lt;code&gt;put_int&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_float"&gt;&lt;code&gt;put_float&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_str"&gt;&lt;code&gt;put_str&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#sorted_keys"&gt;&lt;code&gt;sorted_keys&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#finish"&gt;&lt;code&gt;finish&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#dec_new"&gt;&lt;code&gt;dec_new&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#unknown_field"&gt;&lt;code&gt;unknown_field&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#tick"&gt;&lt;code&gt;tick&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#leave"&gt;&lt;code&gt;leave&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#parse_docs"&gt;&lt;code&gt;parse_docs&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#finish_all"&gt;&lt;code&gt;finish_all&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_duration"&gt;&lt;code&gt;to_duration&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_time"&gt;&lt;code&gt;to_time&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_time"&gt;&lt;code&gt;put_time&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_civil"&gt;&lt;code&gt;to_civil&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#zero_civil"&gt;&lt;code&gt;zero_civil&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_civil"&gt;&lt;code&gt;put_civil&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#to_bytes"&gt;&lt;code&gt;to_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_duration"&gt;&lt;code&gt;put_duration&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;fn &lt;a href="#put_bytes"&gt;&lt;code&gt;put_bytes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;&#10;&lt;h3 id="tagged"&gt;TAGGED&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;TAGGED&lt;/span&gt;: &lt;span class="nc"&gt;Int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Style bits of a Node, as yaml.v3&amp;rsquo;s Style: &lt;code&gt;TAGGED&lt;/code&gt; (the tag is written),&#10;&lt;code&gt;DOUBLE_QUOTED&lt;/code&gt;, &lt;code&gt;SINGLE_QUOTED&lt;/code&gt;, &lt;code&gt;LITERAL&lt;/code&gt;, &lt;code&gt;FOLDED&lt;/code&gt;, &lt;code&gt;FLOW&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>