worker_sys/types/r2/
object.rs

1use wasm_bindgen::prelude::*;
2
3use crate::types::{R2HttpMetadata, R2Range};
4
5#[wasm_bindgen]
6extern "C" {
7    #[wasm_bindgen(extends=js_sys::Object)]
8    #[derive(Debug, Clone, PartialEq, Eq)]
9    pub type R2Object;
10
11    #[wasm_bindgen(method, catch, getter)]
12    pub fn key(this: &R2Object) -> Result<String, JsValue>;
13
14    #[wasm_bindgen(method, catch, getter)]
15    pub fn version(this: &R2Object) -> Result<String, JsValue>;
16
17    #[wasm_bindgen(method, catch, getter)]
18    pub fn size(this: &R2Object) -> Result<f64, JsValue>;
19
20    #[wasm_bindgen(method, catch, getter)]
21    pub fn etag(this: &R2Object) -> Result<String, JsValue>;
22
23    #[wasm_bindgen(method, catch, getter, js_name=httpEtag)]
24    pub fn http_etag(this: &R2Object) -> Result<String, JsValue>;
25
26    #[wasm_bindgen(method, catch, getter)]
27    pub fn uploaded(this: &R2Object) -> Result<js_sys::Date, JsValue>;
28
29    #[wasm_bindgen(method, catch, getter, js_name=httpMetadata)]
30    pub fn http_metadata(this: &R2Object) -> Result<R2HttpMetadata, JsValue>;
31
32    #[wasm_bindgen(method, catch, getter)]
33    pub fn checksums(this: &R2Object) -> Result<js_sys::Object, JsValue>;
34
35    #[wasm_bindgen(method, catch, getter, js_name=customMetadata)]
36    pub fn custom_metadata(this: &R2Object) -> Result<js_sys::Object, JsValue>;
37
38    #[wasm_bindgen(method, catch, getter)]
39    pub fn range(this: &R2Object) -> Result<R2Range, JsValue>;
40
41    #[wasm_bindgen(method, catch, js_name=writeHttpMetadata)]
42    pub fn write_http_metadata(
43        this: &R2Object,
44        headers: web_sys::Headers,
45    ) -> Result<js_sys::Object, JsValue>;
46}