Struct supabase_js_rs::Database
source · #[repr(transparent)]pub struct Database { /* private fields */ }
Expand description
Implementations§
source§impl Database
impl Database
sourcepub async fn order(
&self,
column: &str,
options: JsValue
) -> Result<JsValue, JsValue>
pub async fn order(
&self,
column: &str,
options: JsValue
) -> Result<JsValue, JsValue>
Order the query
Order query result by column.
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
struct OrderOptions {
foreign_table: String,
nulls_first: bool,
ascending: bool,
}
let data: JsValue = client
.get()
.from("countries")
.select_(Some("name, cities ( name )"))
.order(
"name",
serde_wasm_bindgen::to_value(&OrderOptions {
foreign_table: "cities".to_string(),
nulls_first: false,
ascending: true,
}).unwrap(),
)
.await.unwrap();
source§impl Database
impl Database
sourcepub async fn maybe_single(&self) -> Result<JsValue, JsValue>
pub async fn maybe_single(&self) -> Result<JsValue, JsValue>
Retrieve the query as 0-1 rows
Return data as a single object instead of an array of objects.
source§impl Database
impl Database
sourcepub async fn is(&self, column: &str, value: &JsValue) -> Result<JsValue, JsValue>
pub async fn is(&self, column: &str, value: &JsValue) -> Result<JsValue, JsValue>
Column is a value
Match only rows where column IS value.
// check for nullness
client.from("countries").select(None).is("name", JsValue::NULL);
// or check for true of false
client.from("countries").select(None).is("name", JsValue::TRUE);
source§impl Database
impl Database
sourcepub async fn contained_by(
&self,
column: &str,
value: JsValue
) -> Result<JsValue, JsValue>
pub async fn contained_by(
&self,
column: &str,
value: JsValue
) -> Result<JsValue, JsValue>
Contained by value
Only relevant for jsonb, array, and range columns. Match only rows where every element appearing in column is contained by value.
source§impl Database
impl Database
sourcepub async fn range_adjacent(
&self,
column: &str,
range: &str
) -> Result<JsValue, JsValue>
pub async fn range_adjacent(
&self,
column: &str,
range: &str
) -> Result<JsValue, JsValue>
Mutually exclusive to a range
Only relevant for range columns. Match only rows where column is mutually exclusive to range and there can be no element between the two ranges.
source§impl Database
impl Database
sourcepub async fn text_search(
&self,
column: &str,
query: &str,
options: JsValue
) -> Result<JsValue, JsValue>
pub async fn text_search(
&self,
column: &str,
query: &str,
options: JsValue
) -> Result<JsValue, JsValue>
Match a string
Only relevant for text and tsvector columns. Match only rows where column matches the query string in query.
source§impl Database
impl Database
sourcepub fn upsert(&self, values: JsValue) -> Database
pub fn upsert(&self, values: JsValue) -> Database
Upsert data
Perform an UPSERT on the table or view.
source§impl Database
impl Database
sourcepub fn delete(&self) -> Database
pub fn delete(&self) -> Database
Delete data
Should always be combined with filters
let client = supabase_js_rs::create_client("https://xyzcompany.supabase.co", "public-anon-key");
let res: Result<JsValue, JsValue> = client.from("countries").delete().eq("id", 1.into_js_result().unwrap()).await;
Methods from Deref<Target = JsValue>§
pub const NULL: JsValue = JsValue{ idx: JSIDX_NULL, _marker: marker::PhantomData,}
pub const UNDEFINED: JsValue = JsValue{ idx: JSIDX_UNDEFINED, _marker: marker::PhantomData,}
pub const TRUE: JsValue = JsValue{ idx: JSIDX_TRUE, _marker: marker::PhantomData,}
pub const FALSE: JsValue = JsValue{ idx: JSIDX_FALSE, _marker: marker::PhantomData,}
sourcepub fn as_f64(&self) -> Option<f64>
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
.
sourcepub fn as_string(&self) -> Option<String>
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.
sourcepub fn as_bool(&self) -> Option<bool>
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
.
sourcepub fn is_undefined(&self) -> bool
pub fn is_undefined(&self) -> bool
Tests whether this JS value is undefined
sourcepub fn is_function(&self) -> bool
pub fn is_function(&self) -> bool
Tests whether the type of this JS value is function
.
sourcepub fn js_in(&self, obj: &JsValue) -> bool
pub fn js_in(&self, obj: &JsValue) -> bool
Applies the binary in
JS operator on the two JsValue
s.
sourcepub fn loose_eq(&self, other: &JsValue) -> bool
pub fn loose_eq(&self, other: &JsValue) -> bool
Compare two JsValue
s for equality, using the ==
operator in JS.
sourcepub fn unsigned_shr(&self, rhs: &JsValue) -> u32
pub fn unsigned_shr(&self, rhs: &JsValue) -> u32
Applies the binary >>>
JS operator on the two JsValue
s.
sourcepub fn checked_div(&self, rhs: &JsValue) -> JsValue
pub fn checked_div(&self, rhs: &JsValue) -> JsValue
Applies the binary /
JS operator on two JsValue
s, catching and returning any RangeError
thrown.
sourcepub fn pow(&self, rhs: &JsValue) -> JsValue
pub fn pow(&self, rhs: &JsValue) -> JsValue
Applies the binary **
JS operator on the two JsValue
s.
sourcepub fn lt(&self, other: &JsValue) -> bool
pub fn lt(&self, other: &JsValue) -> bool
Applies the binary <
JS operator on the two JsValue
s.
sourcepub fn le(&self, other: &JsValue) -> bool
pub fn le(&self, other: &JsValue) -> bool
Applies the binary <=
JS operator on the two JsValue
s.
sourcepub fn ge(&self, other: &JsValue) -> bool
pub fn ge(&self, other: &JsValue) -> bool
Applies the binary >=
JS operator on the two JsValue
s.
sourcepub fn gt(&self, other: &JsValue) -> bool
pub fn gt(&self, other: &JsValue) -> bool
Applies the binary >
JS operator on the two JsValue
s.
sourcepub fn unchecked_into_f64(&self) -> f64
pub fn unchecked_into_f64(&self) -> f64
Applies the unary +
JS operator on a JsValue
. Can throw.
Trait Implementations§
source§impl FromWasmAbi for Database
impl FromWasmAbi for Database
source§impl<'a> IntoWasmAbi for &'a Database
impl<'a> IntoWasmAbi for &'a Database
source§impl IntoWasmAbi for Database
impl IntoWasmAbi for Database
source§impl JsCast for Database
impl JsCast for Database
source§fn instanceof(val: &JsValue) -> bool
fn instanceof(val: &JsValue) -> bool
instanceof
check to see whether the JsValue
provided is an instance of this type. Read moresource§fn unchecked_from_js(val: JsValue) -> Self
fn unchecked_from_js(val: JsValue) -> Self
source§fn unchecked_from_js_ref(val: &JsValue) -> &Self
fn unchecked_from_js_ref(val: &JsValue) -> &Self
source§fn has_type<T>(&self) -> boolwhere
T: JsCast,
fn has_type<T>(&self) -> boolwhere
T: JsCast,
T
. Read moresource§fn dyn_into<T>(self) -> Result<T, Self>where
T: JsCast,
fn dyn_into<T>(self) -> Result<T, Self>where
T: JsCast,
T
. Read moresource§fn dyn_ref<T>(&self) -> Option<&T>where
T: JsCast,
fn dyn_ref<T>(&self) -> Option<&T>where
T: JsCast,
T
. Read moresource§fn unchecked_into<T>(self) -> Twhere
T: JsCast,
fn unchecked_into<T>(self) -> Twhere
T: JsCast,
source§fn unchecked_ref<T>(&self) -> &Twhere
T: JsCast,
fn unchecked_ref<T>(&self) -> &Twhere
T: JsCast,
source§impl OptionFromWasmAbi for Database
impl OptionFromWasmAbi for Database
source§impl<'a> OptionIntoWasmAbi for &'a Database
impl<'a> OptionIntoWasmAbi for &'a Database
source§impl OptionIntoWasmAbi for Database
impl OptionIntoWasmAbi for Database
source§impl RefFromWasmAbi for Database
impl RefFromWasmAbi for Database
§type Abi = <JsValue as RefFromWasmAbi>::Abi
type Abi = <JsValue as RefFromWasmAbi>::Abi
Self
are recovered from.§type Anchor = ManuallyDrop<Database>
type Anchor = ManuallyDrop<Database>
Self
for the duration of the
invocation of the function that has an &Self
parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.Auto Trait Implementations§
impl RefUnwindSafe for Database
impl !Send for Database
impl !Sync for Database
impl Unpin for Database
impl UnwindSafe for Database
Blanket Implementations§
source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::Abi
source§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi
, except that it may throw and never
return in the case of Err
.