Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 46 additions & 46 deletions proposals/cli/command.md

Large diffs are not rendered by default.

94 changes: 47 additions & 47 deletions proposals/cli/imports.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,32 @@
<ul>
<li>Imports:
<ul>
<li>interface <a href="#wasi_cli_environment_0_3_1"><code>wasi:cli/environment@0.3.1</code></a></li>
<li>interface <a href="#wasi_cli_exit_0_3_1"><code>wasi:cli/exit@0.3.1</code></a></li>
<li>interface <a href="#wasi_cli_types_0_3_1"><code>wasi:cli/types@0.3.1</code></a></li>
<li>interface <a href="#wasi_cli_stdin_0_3_1"><code>wasi:cli/stdin@0.3.1</code></a></li>
<li>interface <a href="#wasi_cli_stdout_0_3_1"><code>wasi:cli/stdout@0.3.1</code></a></li>
<li>interface <a href="#wasi_cli_stderr_0_3_1"><code>wasi:cli/stderr@0.3.1</code></a></li>
<li>interface <a href="#wasi_cli_terminal_input_0_3_1"><code>wasi:cli/terminal-input@0.3.1</code></a></li>
<li>interface <a href="#wasi_cli_terminal_output_0_3_1"><code>wasi:cli/terminal-output@0.3.1</code></a></li>
<li>interface <a href="#wasi_cli_terminal_stdin_0_3_1"><code>wasi:cli/terminal-stdin@0.3.1</code></a></li>
<li>interface <a href="#wasi_cli_terminal_stdout_0_3_1"><code>wasi:cli/terminal-stdout@0.3.1</code></a></li>
<li>interface <a href="#wasi_cli_terminal_stderr_0_3_1"><code>wasi:cli/terminal-stderr@0.3.1</code></a></li>
<li>interface <a href="#wasi_clocks_types_0_3_1"><code>wasi:clocks/types@0.3.1</code></a></li>
<li>interface <a href="#wasi_clocks_monotonic_clock_0_3_1"><code>wasi:clocks/monotonic-clock@0.3.1</code></a></li>
<li>interface <a href="#wasi_clocks_system_clock_0_3_1"><code>wasi:clocks/system-clock@0.3.1</code></a></li>
<li>interface <a href="#wasi_clocks_timezone_0_3_1"><code>wasi:clocks/timezone@0.3.1</code></a></li>
<li>interface <a href="#wasi_filesystem_types_0_3_1"><code>wasi:filesystem/types@0.3.1</code></a></li>
<li>interface <a href="#wasi_filesystem_preopens_0_3_1"><code>wasi:filesystem/preopens@0.3.1</code></a></li>
<li>interface <a href="#wasi_sockets_types_0_3_1"><code>wasi:sockets/types@0.3.1</code></a></li>
<li>interface <a href="#wasi_sockets_ip_name_lookup_0_3_1"><code>wasi:sockets/ip-name-lookup@0.3.1</code></a></li>
<li>interface <a href="#wasi_random_random_0_3_1"><code>wasi:random/random@0.3.1</code></a></li>
<li>interface <a href="#wasi_random_insecure_0_3_1"><code>wasi:random/insecure@0.3.1</code></a></li>
<li>interface <a href="#wasi_random_insecure_seed_0_3_1"><code>wasi:random/insecure-seed@0.3.1</code></a></li>
</ul>
</li>
</ul>
<h2><a id="wasi_cli_environment_0_3_1"></a>Import interface wasi:cli/environment@0.3.1</h2>
<li>interface <a href="#wasi_cli_environment_0_3_2"><code>wasi:cli/environment@0.3.2</code></a></li>
<li>interface <a href="#wasi_cli_exit_0_3_2"><code>wasi:cli/exit@0.3.2</code></a></li>
<li>interface <a href="#wasi_cli_types_0_3_2"><code>wasi:cli/types@0.3.2</code></a></li>
<li>interface <a href="#wasi_cli_stdin_0_3_2"><code>wasi:cli/stdin@0.3.2</code></a></li>
<li>interface <a href="#wasi_cli_stdout_0_3_2"><code>wasi:cli/stdout@0.3.2</code></a></li>
<li>interface <a href="#wasi_cli_stderr_0_3_2"><code>wasi:cli/stderr@0.3.2</code></a></li>
<li>interface <a href="#wasi_cli_terminal_input_0_3_2"><code>wasi:cli/terminal-input@0.3.2</code></a></li>
<li>interface <a href="#wasi_cli_terminal_output_0_3_2"><code>wasi:cli/terminal-output@0.3.2</code></a></li>
<li>interface <a href="#wasi_cli_terminal_stdin_0_3_2"><code>wasi:cli/terminal-stdin@0.3.2</code></a></li>
<li>interface <a href="#wasi_cli_terminal_stdout_0_3_2"><code>wasi:cli/terminal-stdout@0.3.2</code></a></li>
<li>interface <a href="#wasi_cli_terminal_stderr_0_3_2"><code>wasi:cli/terminal-stderr@0.3.2</code></a></li>
<li>interface <a href="#wasi_clocks_types_0_3_2"><code>wasi:clocks/types@0.3.2</code></a></li>
<li>interface <a href="#wasi_clocks_monotonic_clock_0_3_2"><code>wasi:clocks/monotonic-clock@0.3.2</code></a></li>
<li>interface <a href="#wasi_clocks_system_clock_0_3_2"><code>wasi:clocks/system-clock@0.3.2</code></a></li>
<li>interface <a href="#wasi_clocks_timezone_0_3_2"><code>wasi:clocks/timezone@0.3.2</code></a></li>
<li>interface <a href="#wasi_filesystem_types_0_3_2"><code>wasi:filesystem/types@0.3.2</code></a></li>
<li>interface <a href="#wasi_filesystem_preopens_0_3_2"><code>wasi:filesystem/preopens@0.3.2</code></a></li>
<li>interface <a href="#wasi_sockets_types_0_3_2"><code>wasi:sockets/types@0.3.2</code></a></li>
<li>interface <a href="#wasi_sockets_ip_name_lookup_0_3_2"><code>wasi:sockets/ip-name-lookup@0.3.2</code></a></li>
<li>interface <a href="#wasi_random_random_0_3_2"><code>wasi:random/random@0.3.2</code></a></li>
<li>interface <a href="#wasi_random_insecure_0_3_2"><code>wasi:random/insecure@0.3.2</code></a></li>
<li>interface <a href="#wasi_random_insecure_seed_0_3_2"><code>wasi:random/insecure-seed@0.3.2</code></a></li>
</ul>
</li>
</ul>
<h2><a id="wasi_cli_environment_0_3_2"></a>Import interface wasi:cli/environment@0.3.2</h2>
<hr />
<h3>Functions</h3>
<h4><a id="get_environment"></a><code>get-environment: func</code></h4>
Expand All @@ -54,7 +54,7 @@ directory, interpreting <code>.</code> as shorthand for this.</p>
<ul>
<li><a id="get_initial_cwd.0"></a> option&lt;<code>string</code>&gt;</li>
</ul>
<h2><a id="wasi_cli_exit_0_3_1"></a>Import interface wasi:cli/exit@0.3.1</h2>
<h2><a id="wasi_cli_exit_0_3_2"></a>Import interface wasi:cli/exit@0.3.2</h2>
<hr />
<h3>Functions</h3>
<h4><a id="exit"></a><code>exit: func</code></h4>
Expand All @@ -74,7 +74,7 @@ without the connotation that something bad has happened.</p>
<ul>
<li><a id="exit_with_code.status_code"></a><code>status-code</code>: <code>u8</code></li>
</ul>
<h2><a id="wasi_cli_types_0_3_1"></a>Import interface wasi:cli/types@0.3.1</h2>
<h2><a id="wasi_cli_types_0_3_2"></a>Import interface wasi:cli/types@0.3.2</h2>
<hr />
<h3>Types</h3>
<h4><a id="error_code"></a><code>enum error-code</code></h4>
Expand All @@ -93,7 +93,7 @@ without the connotation that something bad has happened.</p>
<p>Broken pipe
</li>
</ul>
<h2><a id="wasi_cli_stdin_0_3_1"></a>Import interface wasi:cli/stdin@0.3.1</h2>
<h2><a id="wasi_cli_stdin_0_3_2"></a>Import interface wasi:cli/stdin@0.3.2</h2>
<hr />
<h3>Types</h3>
<h4><a id="error_code"></a><code>type error-code</code></h4>
Expand All @@ -115,7 +115,7 @@ reads is implementation-specific.</p>
<ul>
<li><a id="read_via_stream.0"></a> (stream&lt;<code>u8</code>&gt;, future&lt;result&lt;_, <a href="#error_code"><a href="#error_code"><code>error-code</code></a></a>&gt;&gt;)</li>
</ul>
<h2><a id="wasi_cli_stdout_0_3_1"></a>Import interface wasi:cli/stdout@0.3.1</h2>
<h2><a id="wasi_cli_stdout_0_3_2"></a>Import interface wasi:cli/stdout@0.3.2</h2>
<hr />
<h3>Types</h3>
<h4><a id="error_code"></a><code>type error-code</code></h4>
Expand All @@ -138,7 +138,7 @@ dropped and this function will return an error-code.</p>
<ul>
<li><a id="write_via_stream.0"></a> future&lt;result&lt;_, <a href="#error_code"><a href="#error_code"><code>error-code</code></a></a>&gt;&gt;</li>
</ul>
<h2><a id="wasi_cli_stderr_0_3_1"></a>Import interface wasi:cli/stderr@0.3.1</h2>
<h2><a id="wasi_cli_stderr_0_3_2"></a>Import interface wasi:cli/stderr@0.3.2</h2>
<hr />
<h3>Types</h3>
<h4><a id="error_code"></a><code>type error-code</code></h4>
Expand All @@ -161,7 +161,7 @@ dropped and this function will return an error-code.</p>
<ul>
<li><a id="write_via_stream.0"></a> future&lt;result&lt;_, <a href="#error_code"><a href="#error_code"><code>error-code</code></a></a>&gt;&gt;</li>
</ul>
<h2><a id="wasi_cli_terminal_input_0_3_1"></a>Import interface wasi:cli/terminal-input@0.3.1</h2>
<h2><a id="wasi_cli_terminal_input_0_3_2"></a>Import interface wasi:cli/terminal-input@0.3.2</h2>
<p>Terminal input.</p>
<p>In the future, this may include functions for disabling echoing,
disabling input buffering so that keyboard events are sent through
Expand All @@ -170,7 +170,7 @@ immediately, querying supported features, and so on.</p>
<h3>Types</h3>
<h4><a id="terminal_input"></a><code>resource terminal-input</code></h4>
<p>The input side of a terminal.</p>
<h2><a id="wasi_cli_terminal_output_0_3_1"></a>Import interface wasi:cli/terminal-output@0.3.1</h2>
<h2><a id="wasi_cli_terminal_output_0_3_2"></a>Import interface wasi:cli/terminal-output@0.3.2</h2>
<p>Terminal output.</p>
<p>In the future, this may include functions for querying the terminal
size, being notified of terminal size changes, querying supported
Expand All @@ -179,7 +179,7 @@ features, and so on.</p>
<h3>Types</h3>
<h4><a id="terminal_output"></a><code>resource terminal-output</code></h4>
<p>The output side of a terminal.</p>
<h2><a id="wasi_cli_terminal_stdin_0_3_1"></a>Import interface wasi:cli/terminal-stdin@0.3.1</h2>
<h2><a id="wasi_cli_terminal_stdin_0_3_2"></a>Import interface wasi:cli/terminal-stdin@0.3.2</h2>
<p>An interface providing an optional <a href="#terminal_input"><code>terminal-input</code></a> for stdin as a
link-time authority.</p>
<hr />
Expand All @@ -196,7 +196,7 @@ allowing further interaction with it.</p>
<ul>
<li><a id="get_terminal_stdin.0"></a> option&lt;own&lt;<a href="#terminal_input"><a href="#terminal_input"><code>terminal-input</code></a></a>&gt;&gt;</li>
</ul>
<h2><a id="wasi_cli_terminal_stdout_0_3_1"></a>Import interface wasi:cli/terminal-stdout@0.3.1</h2>
<h2><a id="wasi_cli_terminal_stdout_0_3_2"></a>Import interface wasi:cli/terminal-stdout@0.3.2</h2>
<p>An interface providing an optional <a href="#terminal_output"><code>terminal-output</code></a> for stdout as a
link-time authority.</p>
<hr />
Expand All @@ -213,7 +213,7 @@ allowing further interaction with it.</p>
<ul>
<li><a id="get_terminal_stdout.0"></a> option&lt;own&lt;<a href="#terminal_output"><a href="#terminal_output"><code>terminal-output</code></a></a>&gt;&gt;</li>
</ul>
<h2><a id="wasi_cli_terminal_stderr_0_3_1"></a>Import interface wasi:cli/terminal-stderr@0.3.1</h2>
<h2><a id="wasi_cli_terminal_stderr_0_3_2"></a>Import interface wasi:cli/terminal-stderr@0.3.2</h2>
<p>An interface providing an optional <a href="#terminal_output"><code>terminal-output</code></a> for stderr as a
link-time authority.</p>
<hr />
Expand All @@ -230,14 +230,14 @@ allowing further interaction with it.</p>
<ul>
<li><a id="get_terminal_stderr.0"></a> option&lt;own&lt;<a href="#terminal_output"><a href="#terminal_output"><code>terminal-output</code></a></a>&gt;&gt;</li>
</ul>
<h2><a id="wasi_clocks_types_0_3_1"></a>Import interface wasi:clocks/types@0.3.1</h2>
<h2><a id="wasi_clocks_types_0_3_2"></a>Import interface wasi:clocks/types@0.3.2</h2>
<p>This interface common types used throughout wasi:clocks.</p>
<hr />
<h3>Types</h3>
<h4><a id="duration"></a><code>type duration</code></h4>
<p><code>u64</code></p>
<p>A duration of time, in nanoseconds.
<h2><a id="wasi_clocks_monotonic_clock_0_3_1"></a>Import interface wasi:clocks/monotonic-clock@0.3.1</h2>
<h2><a id="wasi_clocks_monotonic_clock_0_3_2"></a>Import interface wasi:clocks/monotonic-clock@0.3.2</h2>
<p>WASI Monotonic Clock is a clock API intended to let users measure elapsed
time.</p>
<p>It is intended to be portable at least between Unix-family platforms and
Expand Down Expand Up @@ -287,7 +287,7 @@ corresponding to a clock tick.</p>
<ul>
<li><a id="wait_for.how_long"></a><code>how-long</code>: <a href="#duration"><a href="#duration"><code>duration</code></a></a></li>
</ul>
<h2><a id="wasi_clocks_system_clock_0_3_1"></a>Import interface wasi:clocks/system-clock@0.3.1</h2>
<h2><a id="wasi_clocks_system_clock_0_3_2"></a>Import interface wasi:clocks/system-clock@0.3.2</h2>
<p>WASI System Clock is a clock API intended to let users query the current
time. The clock is not necessarily monotonic as it may be reset.</p>
<p>It is intended to be portable at least between Unix-family platforms and
Expand Down Expand Up @@ -335,7 +335,7 @@ that the implementation permits distinguishing.</p>
<ul>
<li><a id="get_resolution.0"></a> <a href="#duration"><a href="#duration"><code>duration</code></a></a></li>
</ul>
<h2><a id="wasi_clocks_timezone_0_3_1"></a>Import interface wasi:clocks/timezone@0.3.1</h2>
<h2><a id="wasi_clocks_timezone_0_3_2"></a>Import interface wasi:clocks/timezone@0.3.2</h2>
<hr />
<h3>Types</h3>
<h4><a id="instant"></a><code>type instant</code></h4>
Expand Down Expand Up @@ -387,7 +387,7 @@ this string is a major platform-compatibility hazard.</p>
<ul>
<li><a id="to_debug_string.0"></a> <code>string</code></li>
</ul>
<h2><a id="wasi_filesystem_types_0_3_1"></a>Import interface wasi:filesystem/types@0.3.1</h2>
<h2><a id="wasi_filesystem_types_0_3_2"></a>Import interface wasi:filesystem/types@0.3.2</h2>
<p>WASI filesystem is a filesystem API primarily intended to let users run WASI
programs that access their files on their existing filesystems, without
significant overhead.</p>
Expand Down Expand Up @@ -1224,7 +1224,7 @@ to by a directory descriptor and a relative path.</p>
<ul>
<li><a id="method_descriptor_metadata_hash_at.0"></a> result&lt;<a href="#metadata_hash_value"><a href="#metadata_hash_value"><code>metadata-hash-value</code></a></a>, <a href="#error_code"><a href="#error_code"><code>error-code</code></a></a>&gt;</li>
</ul>
<h2><a id="wasi_filesystem_preopens_0_3_1"></a>Import interface wasi:filesystem/preopens@0.3.1</h2>
<h2><a id="wasi_filesystem_preopens_0_3_2"></a>Import interface wasi:filesystem/preopens@0.3.2</h2>
<hr />
<h3>Types</h3>
<h4><a id="descriptor"></a><code>type descriptor</code></h4>
Expand All @@ -1238,7 +1238,7 @@ to by a directory descriptor and a relative path.</p>
<ul>
<li><a id="get_directories.0"></a> list&lt;(own&lt;<a href="#descriptor"><a href="#descriptor"><code>descriptor</code></a></a>&gt;, <code>string</code>)&gt;</li>
</ul>
<h2><a id="wasi_sockets_types_0_3_1"></a>Import interface wasi:sockets/types@0.3.1</h2>
<h2><a id="wasi_sockets_types_0_3_2"></a>Import interface wasi:sockets/types@0.3.2</h2>
<hr />
<h3>Types</h3>
<h4><a id="duration"></a><code>type duration</code></h4>
Expand Down Expand Up @@ -2340,7 +2340,7 @@ this setting may differ from the value that was set.</p>
<ul>
<li><a id="method_udp_socket_set_send_buffer_size.0"></a> result&lt;_, <a href="#error_code"><a href="#error_code"><code>error-code</code></a></a>&gt;</li>
</ul>
<h2><a id="wasi_sockets_ip_name_lookup_0_3_1"></a>Import interface wasi:sockets/ip-name-lookup@0.3.1</h2>
<h2><a id="wasi_sockets_ip_name_lookup_0_3_2"></a>Import interface wasi:sockets/ip-name-lookup@0.3.2</h2>
<hr />
<h3>Types</h3>
<h4><a id="ip_address"></a><code>type ip-address</code></h4>
Expand Down Expand Up @@ -2409,7 +2409,7 @@ IPv4-mapped IPv6 addresses.</p>
<ul>
<li><a id="resolve_addresses.0"></a> result&lt;list&lt;<a href="#ip_address"><a href="#ip_address"><code>ip-address</code></a></a>&gt;, <a href="#error_code"><a href="#error_code"><code>error-code</code></a></a>&gt;</li>
</ul>
<h2><a id="wasi_random_random_0_3_1"></a>Import interface wasi:random/random@0.3.1</h2>
<h2><a id="wasi_random_random_0_3_2"></a>Import interface wasi:random/random@0.3.2</h2>
<p>WASI Random is a random data API.</p>
<p>It is intended to be portable at least between Unix-family platforms and
Windows.</p>
Expand Down Expand Up @@ -2449,7 +2449,7 @@ represented as a <code>u64</code>.</p>
<ul>
<li><a id="get_random_u64.0"></a> <code>u64</code></li>
</ul>
<h2><a id="wasi_random_insecure_0_3_1"></a>Import interface wasi:random/insecure@0.3.1</h2>
<h2><a id="wasi_random_insecure_0_3_2"></a>Import interface wasi:random/insecure@0.3.2</h2>
<p>The insecure interface for insecure pseudo-random numbers.</p>
<p>It is intended to be portable at least between Unix-family platforms and
Windows.</p>
Expand Down Expand Up @@ -2484,7 +2484,7 @@ list without trapping.</p>
<ul>
<li><a id="get_insecure_random_u64.0"></a> <code>u64</code></li>
</ul>
<h2><a id="wasi_random_insecure_seed_0_3_1"></a>Import interface wasi:random/insecure-seed@0.3.1</h2>
<h2><a id="wasi_random_insecure_seed_0_3_2"></a>Import interface wasi:random/insecure-seed@0.3.2</h2>
<p>The insecure-seed interface for seeding hash-map DoS resistance.</p>
<p>It is intended to be portable at least between Unix-family platforms and
Windows.</p>
Expand Down
2 changes: 1 addition & 1 deletion proposals/cli/wit/command.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:cli@0.3.1;
package wasi:cli@0.3.2;

@since(version = 0.3.0)
world command {
Expand Down
16 changes: 8 additions & 8 deletions proposals/cli/wit/deps.lock
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
[clocks]
path = "../../clocks/wit"
sha256 = "cee7f7ffff62be2416295a0bbdc13d822f5b4449ce37e0eb7cbdf3195156429d"
sha512 = "446835d225349f00f44b8c47fb3e6189491cfc19fdf3b394e3edd85276e3f1d7a515efb318cd11ef271c164ec54a54307110f2d0b72212a0108324f449d9b946"
sha256 = "5cb223966f6b05ff20069dabf48a49d9b451bd7915f582bc7c58d8adcb0665a8"
sha512 = "c7985d84cf71fb467b86247e8d75ca2a8bae4704be1e3fc75638de68aca6486e5e6b9d501b379eb8fb48026d1edbff1c338bec27f84d09e0d24195801728ad93"

[filesystem]
path = "../../filesystem/wit"
sha256 = "7e29e1b85da02279d2853dff263bbfe647b1b19105b96bb2a850ea8d201e7bbb"
sha512 = "7cdba2ef1090aa6b83eb292dd90992df2a9db24f577728b9275e0c3eb4fe19bcb8f0e7defa914d79e7adee72029d8c9501b2cc6387723b515d0ff296c3c1acff"
sha256 = "7696414aa37faba93797b4b293628944da5a9de41358c25eca687cb529538a8d"
sha512 = "bc5e81fd9fd91f35e7220aaaebe24bc58c141dd7826428f19f94cc6f90acbab61e1592695804519b1ff5826a3ad342ec815f1449d53a1abc88cf98c2c1e80680"

[random]
path = "../../random/wit"
sha256 = "5196da126852cb29c39790da453ec6d5f46a266283dadd69a5f93f10a9850376"
sha512 = "4147e0f33b26cd6bf46cc1da4afed21e620fe8ede4b06199c8826fd456ed4977974ac1b6437dccdfb602f1b352d06a455717852f43ae5143fffc01e75ca3d74d"
sha256 = "f3f1be21aad52a5cdbdf7714e29e71a29fe2c4b9a7ae694ca00bc24ffb301de4"
sha512 = "cc9212ee4a7c2b646f3f693e5809e89e0477769cc9afde3b6024460ecf1f7c0a4f3386ddd0c17fcf6fa1f35f8e197d929df545fcb667082c129a361d30acc4d4"

[sockets]
path = "../../sockets/wit"
sha256 = "8db169a251f64d3b06162f2012a3b0b794a2e65187b130fc21adf5c913ddb140"
sha512 = "6d2a2a4b0b575a3856eb1d0448b4637357587123d12d4633b1e8bded88530085a1f36bfcfda6a2e27ce633581d7e3b778c2658f796b884972d3d2043ae7b5795"
sha256 = "2d64795d2520adb3f20805527f67ad5d812edeb2b12d21f0d9d1b8087f86e990"
sha512 = "6e261b35a3c908bade85a6f70a56cd1e7ef98d193149f4a7fa6b91a37cf8a85aa6f3aa2e1b32bc6f6fc600e9df5041eaef9a041738ce43c3d496f5cf49d26623"
10 changes: 5 additions & 5 deletions proposals/cli/wit/imports.wit
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package wasi:cli@0.3.1;
package wasi:cli@0.3.2;

@since(version = 0.3.0)
world imports {
@since(version = 0.3.0)
include wasi:clocks/imports@0.3.1;
include wasi:clocks/imports@0.3.2;
@since(version = 0.3.0)
include wasi:filesystem/imports@0.3.1;
include wasi:filesystem/imports@0.3.2;
@since(version = 0.3.0)
include wasi:sockets/imports@0.3.1;
include wasi:sockets/imports@0.3.2;
@since(version = 0.3.0)
include wasi:random/imports@0.3.1;
include wasi:random/imports@0.3.2;

@since(version = 0.3.0)
import environment;
Expand Down
Loading
Loading