wasm_sql/core/bindings/
sql_arguments.rs1use std::cell::RefCell;
2
3use crate::core::bindings::generated::wasm_sql::core::query_types::SqlArguments;
4use crate::{core::bindings::SqlHostState, sqldb::SqlDatabase};
5
6#[allow(unused)]
7pub struct SqlArgumentsImpl {
8 pub(crate) args: RefCell<<SqlDatabase as sqlx::Database>::Arguments<'static>>,
9}
10
11impl crate::core::bindings::generated::wasm_sql::core::query_types::HostSqlArguments for SqlHostState {
12 fn new(&mut self) -> Result<wasmtime::component::Resource<SqlArgumentsImpl>, wasmtime::Error> {
13 let args = self.table.push(SqlArgumentsImpl {
14 args: RefCell::new(<SqlDatabase as sqlx::Database>::Arguments::default()),
15 })?;
16
17 Ok(args)
18 }
19
20 fn drop(&mut self, rep: wasmtime::component::Resource<SqlArguments>) -> wasmtime::Result<()> {
21 self.table.delete(rep)?;
22
23 Ok(())
24 }
25}