Struct Env

Source
pub struct Env { /* private fields */ }
Expand description

Env contains any bindings you have associated with the Worker when you uploaded it.

Implementations§

Source§

impl Env

Source

pub fn get_binding<T: EnvBinding>(&self, name: &str) -> Result<T>

Access a binding that does not have a wrapper in workers-rs. Useful for internal-only or unstable bindings.

Source

pub fn ai(&self, binding: &str) -> Result<Ai>

Source

pub fn analytics_engine(&self, binding: &str) -> Result<AnalyticsEngineDataset>

Source

pub fn secret(&self, binding: &str) -> Result<Secret>

Access Secret value bindings added to your Worker via the UI or wrangler: https://developers.cloudflare.com/workers/cli-wrangler/commands#secret

Source

pub fn var(&self, binding: &str) -> Result<Var>

Get an environment variable defined in the [vars] section of your wrangler.toml or a secret defined using wrangler secret as a plaintext value.

See: https://developers.cloudflare.com/workers/configuration/environment-variables/

Source

pub fn object_var<T: DeserializeOwned>(&self, binding: &str) -> Result<T>

Get an environment variable defined in the [vars] section of your wrangler.toml that is defined as an object.

See: https://developers.cloudflare.com/workers/configuration/environment-variables/

Source

pub fn kv(&self, binding: &str) -> Result<KvStore>

Access a Workers KV namespace by the binding name configured in your wrangler.toml file.

Source

pub fn durable_object(&self, binding: &str) -> Result<ObjectNamespace>

Access a Durable Object namespace by the binding name configured in your wrangler.toml file.

Source

pub fn dynamic_dispatcher(&self, binding: &str) -> Result<DynamicDispatcher>

Access a Dynamic Dispatcher for dispatching events to other workers.

Source

pub fn service(&self, binding: &str) -> Result<Fetcher>

Get a Service Binding for Worker-to-Worker communication.

Source

pub fn queue(&self, binding: &str) -> Result<Queue>

Access a Queue by the binding name configured in your wrangler.toml file.

Source

pub fn bucket(&self, binding: &str) -> Result<Bucket>

Access an R2 Bucket by the binding name configured in your wrangler.toml file.

Source

pub fn d1(&self, binding: &str) -> Result<D1Database>

Access a D1 Database by the binding name configured in your wrangler.toml file.

Source

pub fn assets(&self, binding: &str) -> Result<Fetcher>

Access the worker assets by the binding name configured in your wrangler.toml file.

Source

pub fn hyperdrive(&self, binding: &str) -> Result<Hyperdrive>

Source

pub fn secret_store(&self, binding: &str) -> Result<SecretStore>

Access a Secret Store by the binding name configured in your wrangler.toml file.

Methods from Deref<Target = JsValue>§

Source

pub const NULL: JsValue

Source

pub const UNDEFINED: JsValue

Source

pub const TRUE: JsValue

Source

pub const FALSE: JsValue

Source

pub fn as_f64(&self) -> Option<f64>

Returns the f64 value of this JS value if it’s an instance of a number.

If this JS value is not an instance of a number then this returns None.

Source

pub fn is_string(&self) -> bool

Tests whether this JS value is a JS string.

Source

pub fn as_string(&self) -> Option<String>

If this JS value is a string value, this function copies the JS string value into Wasm linear memory, encoded as UTF-8, and returns it as a Rust String.

To avoid the copying and re-encoding, consider the JsString::try_from() function from js-sys instead.

If this JS value is not an instance of a string or if it’s not valid utf-8 then this returns None.

§UTF-16 vs UTF-8

JavaScript strings in general are encoded as UTF-16, but Rust strings are encoded as UTF-8. This can cause the Rust string to look a bit different than the JS string sometimes. For more details see the documentation about the str type which contains a few caveats about the encodings.

Source

pub fn as_bool(&self) -> Option<bool>

Returns the bool value of this JS value if it’s an instance of a boolean.

If this JS value is not an instance of a boolean then this returns None.

Source

pub fn is_null(&self) -> bool

Tests whether this JS value is null

Source

pub fn is_undefined(&self) -> bool

Tests whether this JS value is undefined

Source

pub fn is_symbol(&self) -> bool

Tests whether the type of this JS value is symbol

Source

pub fn is_object(&self) -> bool

Tests whether typeof self == "object" && self !== null.

Source

pub fn is_array(&self) -> bool

Tests whether this JS value is an instance of Array.

Source

pub fn is_function(&self) -> bool

Tests whether the type of this JS value is function.

Source

pub fn is_bigint(&self) -> bool

Tests whether the type of this JS value is bigint.

Source

pub fn js_typeof(&self) -> JsValue

Applies the unary typeof JS operator on a JsValue.

MDN documentation

Source

pub fn js_in(&self, obj: &JsValue) -> bool

Applies the binary in JS operator on the two JsValues.

MDN documentation

Source

pub fn is_truthy(&self) -> bool

Tests whether the value is “truthy”.

Source

pub fn is_falsy(&self) -> bool

Tests whether the value is “falsy”.

Source

pub fn loose_eq(&self, other: &JsValue) -> bool

Compare two JsValues for equality, using the == operator in JS.

MDN documentation

Source

pub fn bit_not(&self) -> JsValue

Applies the unary ~ JS operator on a JsValue.

MDN documentation

Source

pub fn unsigned_shr(&self, rhs: &JsValue) -> u32

Applies the binary >>> JS operator on the two JsValues.

MDN documentation

Source

pub fn checked_div(&self, rhs: &JsValue) -> JsValue

Applies the binary / JS operator on two JsValues, catching and returning any RangeError thrown.

MDN documentation

Source

pub fn pow(&self, rhs: &JsValue) -> JsValue

Applies the binary ** JS operator on the two JsValues.

MDN documentation

Source

pub fn lt(&self, other: &JsValue) -> bool

Applies the binary < JS operator on the two JsValues.

MDN documentation

Source

pub fn le(&self, other: &JsValue) -> bool

Applies the binary <= JS operator on the two JsValues.

MDN documentation

Source

pub fn ge(&self, other: &JsValue) -> bool

Applies the binary >= JS operator on the two JsValues.

MDN documentation

Source

pub fn gt(&self, other: &JsValue) -> bool

Applies the binary > JS operator on the two JsValues.

MDN documentation

Source

pub fn unchecked_into_f64(&self) -> f64

Applies the unary + JS operator on a JsValue. Can throw.

MDN documentation

Trait Implementations§

Source§

impl AsRef<Env> for Env

Source§

fn as_ref(&self) -> &Env

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<JsValue> for Env

Source§

fn as_ref(&self) -> &JsValue

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for Env

Source§

fn clone(&self) -> Env

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Env

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for Env

Source§

type Target = JsValue

The resulting type after dereferencing.
Source§

fn deref(&self) -> &JsValue

Dereferences the value.
Source§

impl From<Env> for JsValue

Source§

fn from(obj: Env) -> JsValue

Converts to this type from the input type.
Source§

impl From<JsValue> for Env

Source§

fn from(obj: JsValue) -> Env

Converts to this type from the input type.
Source§

impl FromWasmAbi for Env

Source§

type Abi = <JsValue as FromWasmAbi>::Abi

The Wasm ABI type that this converts from when coming back out from the ABI boundary.
Source§

unsafe fn from_abi(js: Self::Abi) -> Self

Recover a Self from Self::Abi. Read more
Source§

impl<'a> IntoWasmAbi for &'a Env

Source§

type Abi = <&'a JsValue as IntoWasmAbi>::Abi

The Wasm ABI type that this converts into when crossing the ABI boundary.
Source§

fn into_abi(self) -> Self::Abi

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
Source§

impl IntoWasmAbi for Env

Source§

type Abi = <JsValue as IntoWasmAbi>::Abi

The Wasm ABI type that this converts into when crossing the ABI boundary.
Source§

fn into_abi(self) -> Self::Abi

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
Source§

impl JsCast for Env