feat: add initial projects

Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
2024-12-01 20:59:10 +01:00
commit be4d755d51
14 changed files with 480 additions and 0 deletions

144
alloy/src/bindings.rs Normal file
View File

@@ -0,0 +1,144 @@
#[allow(dead_code)]
pub mod exports {
#[allow(dead_code)]
pub mod component {
#[allow(dead_code)]
pub mod churn_tasks {
#[allow(dead_code, clippy::all)]
pub mod task {
#[used]
#[doc(hidden)]
static __FORCE_SECTION_REF: fn() = super::super::super::super::__link_custom_section_describing_imports;
use super::super::super::super::_rt;
#[doc(hidden)]
#[allow(non_snake_case)]
pub unsafe fn _export_id_cabi<T: Guest>() -> *mut u8 {
#[cfg(target_arch = "wasm32")] _rt::run_ctors_once();
let result0 = T::id();
let ptr1 = _RET_AREA.0.as_mut_ptr().cast::<u8>();
let vec2 = (result0.into_bytes()).into_boxed_slice();
let ptr2 = vec2.as_ptr().cast::<u8>();
let len2 = vec2.len();
::core::mem::forget(vec2);
*ptr1.add(4).cast::<usize>() = len2;
*ptr1.add(0).cast::<*mut u8>() = ptr2.cast_mut();
ptr1
}
#[doc(hidden)]
#[allow(non_snake_case)]
pub unsafe fn __post_return_id<T: Guest>(arg0: *mut u8) {
let l0 = *arg0.add(0).cast::<*mut u8>();
let l1 = *arg0.add(4).cast::<usize>();
_rt::cabi_dealloc(l0, l1, 1);
}
#[doc(hidden)]
#[allow(non_snake_case)]
pub unsafe fn _export_should_run_cabi<T: Guest>() -> i32 {
#[cfg(target_arch = "wasm32")] _rt::run_ctors_once();
let result0 = T::should_run();
match result0 {
true => 1,
false => 0,
}
}
#[doc(hidden)]
#[allow(non_snake_case)]
pub unsafe fn _export_execute_cabi<T: Guest>() {
#[cfg(target_arch = "wasm32")] _rt::run_ctors_once();
T::execute();
}
pub trait Guest {
fn id() -> _rt::String;
fn should_run() -> bool;
fn execute();
}
#[doc(hidden)]
macro_rules! __export_component_churn_tasks_task_0_1_0_cabi {
($ty:ident with_types_in $($path_to_types:tt)*) => {
const _ : () = { #[export_name =
"component:churn-tasks/task@0.1.0#id"] unsafe extern "C" fn
export_id() -> * mut u8 { $($path_to_types)*::
_export_id_cabi::<$ty > () } #[export_name =
"cabi_post_component:churn-tasks/task@0.1.0#id"] unsafe extern
"C" fn _post_return_id(arg0 : * mut u8,) { $($path_to_types)*::
__post_return_id::<$ty > (arg0) } #[export_name =
"component:churn-tasks/task@0.1.0#should-run"] unsafe extern "C"
fn export_should_run() -> i32 { $($path_to_types)*::
_export_should_run_cabi::<$ty > () } #[export_name =
"component:churn-tasks/task@0.1.0#execute"] unsafe extern "C" fn
export_execute() { $($path_to_types)*::
_export_execute_cabi::<$ty > () } };
};
}
#[doc(hidden)]
pub(crate) use __export_component_churn_tasks_task_0_1_0_cabi;
#[repr(align(4))]
struct _RetArea([::core::mem::MaybeUninit<u8>; 8]);
static mut _RET_AREA: _RetArea = _RetArea(
[::core::mem::MaybeUninit::uninit(); 8],
);
}
}
}
}
mod _rt {
#[cfg(target_arch = "wasm32")]
pub fn run_ctors_once() {
wit_bindgen_rt::run_ctors_once();
}
pub unsafe fn cabi_dealloc(ptr: *mut u8, size: usize, align: usize) {
if size == 0 {
return;
}
let layout = alloc::Layout::from_size_align_unchecked(size, align);
alloc::dealloc(ptr, layout);
}
pub use alloc_crate::string::String;
pub use alloc_crate::alloc;
extern crate alloc as alloc_crate;
}
/// Generates `#[no_mangle]` functions to export the specified type as the
/// root implementation of all generated traits.
///
/// For more information see the documentation of `wit_bindgen::generate!`.
///
/// ```rust
/// # macro_rules! export{ ($($t:tt)*) => (); }
/// # trait Guest {}
/// struct MyType;
///
/// impl Guest for MyType {
/// // ...
/// }
///
/// export!(MyType);
/// ```
#[allow(unused_macros)]
#[doc(hidden)]
macro_rules! __export_alloy_impl {
($ty:ident) => {
self::export!($ty with_types_in self);
};
($ty:ident with_types_in $($path_to_types_root:tt)*) => {
$($path_to_types_root)*::
exports::component::churn_tasks::task::__export_component_churn_tasks_task_0_1_0_cabi!($ty
with_types_in $($path_to_types_root)*:: exports::component::churn_tasks::task);
};
}
#[doc(inline)]
pub(crate) use __export_alloy_impl as export;
#[cfg(target_arch = "wasm32")]
#[link_section = "component-type:wit-bindgen:0.35.0:component:alloy:alloy:encoded world"]
#[doc(hidden)]
pub static __WIT_BINDGEN_COMPONENT_TYPE: [u8; 244] = *b"\
\0asm\x0d\0\x01\0\0\x19\x16wit-component-encoding\x04\0\x07y\x01A\x02\x01A\x02\x01\
B\x06\x01@\0\0s\x04\0\x02id\x01\0\x01@\0\0\x7f\x04\0\x0ashould-run\x01\x01\x01@\0\
\x01\0\x04\0\x07execute\x01\x02\x04\0\x20component:churn-tasks/task@0.1.0\x05\0\x04\
\0\x15component:alloy/alloy\x04\0\x0b\x0b\x01\0\x05alloy\x03\0\0\0G\x09producers\
\x01\x0cprocessed-by\x02\x0dwit-component\x070.220.0\x10wit-bindgen-rust\x060.35\
.0";
#[inline(never)]
#[doc(hidden)]
pub fn __link_custom_section_describing_imports() {
wit_bindgen_rt::maybe_link_cabi_realloc();
}

22
alloy/src/lib.rs Normal file
View File

@@ -0,0 +1,22 @@
use bindings::exports::component::churn_tasks::task::Guest;
#[allow(warnings)]
mod bindings;
struct Component;
impl Guest for Component {
fn id() -> String {
"grafana/alloy".into()
}
fn should_run() -> bool {
true
}
fn execute() {
println!("I was run");
}
}
bindings::export!(Component with_types_in bindings);