diff --git a/imports.md b/imports.md index 68168b5..efadd7c 100644 --- a/imports.md +++ b/imports.md @@ -7,46 +7,27 @@

Import interface wasi:config/store@0.2.0-draft

-
-

Types

-

variant error

-

An error type that encapsulates the different errors that can occur fetching configuration values.

-
Variant Cases
- +

An immutable configuration store.


Functions

get: func

Gets a configuration value of type string associated with the key.

-

The value is returned as an option<string>. If the key is not found, -Ok(none) is returned. If an error occurs, an Err(error) is returned.

+

Returns none if the key does not exist.

+

This always returns the same value for any given key. Configuration +data does not change over the lifetime of the component instance.

Params
Return values

get-all: func

Gets a list of configuration key-value pairs of type string.

-

If an error occurs, an Err(error) is returned.

+

This always returns the same data. Configuration data does not change +over the lifetime of the component instance.

Return values
diff --git a/wit/store.wit b/wit/store.wit index 794379a..54491ac 100644 --- a/wit/store.wit +++ b/wit/store.wit @@ -1,30 +1,19 @@ +/// An immutable configuration store. interface store { - /// An error type that encapsulates the different errors that can occur fetching configuration values. - variant error { - /// This indicates an error from an "upstream" config source. - /// As this could be almost _anything_ (such as Vault, Kubernetes ConfigMaps, KeyValue buckets, etc), - /// the error message is a string. - upstream(string), - /// This indicates an error from an I/O operation. - /// As this could be almost _anything_ (such as a file read, network connection, etc), - /// the error message is a string. - /// Depending on how this ends up being consumed, - /// we may consider moving this to use the `wasi:io/error` type instead. - /// For simplicity right now in supporting multiple implementations, it is being left as a string. - io(string), - } - /// Gets a configuration value of type `string` associated with the `key`. - /// - /// The value is returned as an `option`. If the key is not found, - /// `Ok(none)` is returned. If an error occurs, an `Err(error)` is returned. + /// + /// Returns `none` if the key does not exist. + /// + /// This always returns the same value for any given key. Configuration + /// data does not change over the lifetime of the component instance. get: func( /// A string key to fetch key: string - ) -> result, error>; + ) -> option; /// Gets a list of configuration key-value pairs of type `string`. - /// - /// If an error occurs, an `Err(error)` is returned. - get-all: func() -> result>, error>; + /// + /// This always returns the same data. Configuration data does not change + /// over the lifetime of the component instance. + get-all: func() -> list>; }