A better Rust ATProto crate
at lifetimes 12 kB view raw
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: app.ocho.plugin.defs 4// 5// This file was automatically generated from Lexicon schemas. 6// Any manual changes will be overwritten on the next regeneration. 7 8pub mod get_launch_asset; 9pub mod get_manifest; 10pub mod put_hosting_url; 11pub mod service; 12 13#[jacquard_derive::lexicon] 14#[derive( 15 serde::Serialize, 16 serde::Deserialize, 17 Debug, 18 Clone, 19 PartialEq, 20 Eq, 21 jacquard_derive::IntoStatic 22)] 23#[serde(rename_all = "camelCase")] 24pub struct AdaptiveIcon<'a> { 25 ///The background color of the adaptive icon. 26 #[serde(skip_serializing_if = "std::option::Option::is_none")] 27 #[serde(borrow)] 28 pub background_color: std::option::Option<jacquard_common::CowStr<'a>>, 29 ///The URL to the foreground image of the adaptive icon. 30 #[serde(skip_serializing_if = "std::option::Option::is_none")] 31 #[serde(borrow)] 32 pub foreground_image: std::option::Option<jacquard_common::CowStr<'a>>, 33 #[serde(skip_serializing_if = "std::option::Option::is_none")] 34 #[serde(borrow)] 35 pub foreground_image_blob: std::option::Option< 36 jacquard_common::types::blob::Blob<'a>, 37 >, 38} 39 40#[jacquard_derive::lexicon] 41#[derive( 42 serde::Serialize, 43 serde::Deserialize, 44 Debug, 45 Clone, 46 PartialEq, 47 Eq, 48 jacquard_derive::IntoStatic 49)] 50#[serde(rename_all = "camelCase")] 51pub struct Android<'a> { 52 ///Configuration for the adaptive icon on Android. 53 #[serde(skip_serializing_if = "std::option::Option::is_none")] 54 #[serde(borrow)] 55 pub adaptive_icon: std::option::Option<crate::app_ocho::plugin::AdaptiveIcon<'a>>, 56 ///Whether edge-to-edge mode is enabled for the app. 57 #[serde(skip_serializing_if = "std::option::Option::is_none")] 58 pub edge_to_edge_enabled: std::option::Option<bool>, 59} 60 61///Android status bar configuration. 62#[jacquard_derive::lexicon] 63#[derive( 64 serde::Serialize, 65 serde::Deserialize, 66 Debug, 67 Clone, 68 PartialEq, 69 Eq, 70 jacquard_derive::IntoStatic 71)] 72#[serde(rename_all = "camelCase")] 73pub struct AndroidStatusBar<'a> { 74 ///The background color of the Android status bar. 75 #[serde(skip_serializing_if = "std::option::Option::is_none")] 76 #[serde(borrow)] 77 pub background_color: std::option::Option<jacquard_common::CowStr<'a>>, 78} 79 80#[jacquard_derive::lexicon] 81#[derive( 82 serde::Serialize, 83 serde::Deserialize, 84 Debug, 85 Clone, 86 PartialEq, 87 Eq, 88 jacquard_derive::IntoStatic 89)] 90#[serde(rename_all = "camelCase")] 91pub struct Asset<'a> { 92 ///The blob of the asset 93 #[serde(borrow)] 94 pub blob: jacquard_common::types::blob::Blob<'a>, 95 ///The hash of the asset 96 #[serde(borrow)] 97 pub hash: jacquard_common::CowStr<'a>, 98 ///The type of the asset 99 #[serde(borrow)] 100 pub r#type: jacquard_common::CowStr<'a>, 101 ///The date and time when this asset was last updated. Used to reset the jetstream cache, among other things. 102 #[serde(skip_serializing_if = "std::option::Option::is_none")] 103 pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>, 104} 105 106#[jacquard_derive::lexicon] 107#[derive( 108 serde::Serialize, 109 serde::Deserialize, 110 Debug, 111 Clone, 112 PartialEq, 113 Eq, 114 jacquard_derive::IntoStatic 115)] 116#[serde(rename_all = "camelCase")] 117pub struct Db<'a> { 118 ///The ID of the database. 119 #[serde(borrow)] 120 pub id: jacquard_common::CowStr<'a>, 121} 122 123#[jacquard_derive::lexicon] 124#[derive( 125 serde::Serialize, 126 serde::Deserialize, 127 Debug, 128 Clone, 129 PartialEq, 130 Eq, 131 jacquard_derive::IntoStatic 132)] 133#[serde(rename_all = "camelCase")] 134pub struct Developer<'a> { 135 ///The tool used for development, e.g., 'expo-cli'. 136 #[serde(borrow)] 137 pub tool: jacquard_common::CowStr<'a>, 138} 139 140#[jacquard_derive::lexicon] 141#[derive( 142 serde::Serialize, 143 serde::Deserialize, 144 Debug, 145 Clone, 146 PartialEq, 147 Eq, 148 jacquard_derive::IntoStatic 149)] 150#[serde(rename_all = "camelCase")] 151pub struct ExpoClient<'a> { 152 ///Android-specific configuration for the app. 153 #[serde(skip_serializing_if = "std::option::Option::is_none")] 154 #[serde(borrow)] 155 pub android: std::option::Option<crate::app_ocho::plugin::Android<'a>>, 156 ///Configuration for the Android status bar. 157 #[serde(skip_serializing_if = "std::option::Option::is_none")] 158 #[serde(borrow)] 159 pub android_status_bar: std::option::Option< 160 crate::app_ocho::plugin::AndroidStatusBar<'a>, 161 >, 162 ///Experimental features enabled for the app. 163 #[serde(skip_serializing_if = "std::option::Option::is_none")] 164 #[serde(borrow)] 165 pub expirements: std::option::Option<jacquard_common::types::value::Data<'a>>, 166 ///Additional configuration for the app. 167 #[serde(skip_serializing_if = "std::option::Option::is_none")] 168 #[serde(borrow)] 169 pub extra: std::option::Option<jacquard_common::types::value::Data<'a>>, 170 ///The URL to the app icon. 171 #[serde(skip_serializing_if = "std::option::Option::is_none")] 172 #[serde(borrow)] 173 pub icon: std::option::Option<jacquard_common::CowStr<'a>>, 174 ///ios-specific configuration for the app. 175 #[serde(skip_serializing_if = "std::option::Option::is_none")] 176 #[serde(borrow)] 177 pub ios: std::option::Option<crate::app_ocho::plugin::Ios<'a>>, 178 ///Localization settings for the app. 179 #[serde(skip_serializing_if = "std::option::Option::is_none")] 180 #[serde(borrow)] 181 pub locales: std::option::Option<jacquard_common::types::value::Data<'a>>, 182 ///The name of the Expo client application. 183 #[serde(borrow)] 184 pub name: jacquard_common::CowStr<'a>, 185 ///Whether the new architecture is enabled for the app. 186 #[serde(skip_serializing_if = "std::option::Option::is_none")] 187 pub new_arch_enabled: std::option::Option<bool>, 188 ///The default orientation of the app. 189 #[serde(skip_serializing_if = "std::option::Option::is_none")] 190 #[serde(borrow)] 191 pub orientation: std::option::Option<jacquard_common::CowStr<'a>>, 192 ///The platforms supported by the app. 193 #[serde(skip_serializing_if = "std::option::Option::is_none")] 194 #[serde(borrow)] 195 pub platforms: std::option::Option<Vec<jacquard_common::CowStr<'a>>>, 196 ///A list of plugins used by the app. 197 #[serde(skip_serializing_if = "std::option::Option::is_none")] 198 #[serde(borrow)] 199 pub plugins: std::option::Option<jacquard_common::types::value::Data<'a>>, 200 ///The custom URI scheme for deep linking. 201 #[serde(skip_serializing_if = "std::option::Option::is_none")] 202 #[serde(borrow)] 203 pub scheme: std::option::Option<jacquard_common::CowStr<'a>>, 204 ///The SDK version of the Expo client. 205 #[serde(skip_serializing_if = "std::option::Option::is_none")] 206 #[serde(borrow)] 207 pub sdk_version: std::option::Option<jacquard_common::CowStr<'a>>, 208 ///A URL-friendly identifier for the app. 209 #[serde(borrow)] 210 pub slug: jacquard_common::CowStr<'a>, 211 ///The default user interface style. 212 #[serde(skip_serializing_if = "std::option::Option::is_none")] 213 #[serde(borrow)] 214 pub user_interface_style: std::option::Option<jacquard_common::CowStr<'a>>, 215 ///The version of the app. 216 #[serde(skip_serializing_if = "std::option::Option::is_none")] 217 #[serde(borrow)] 218 pub version: std::option::Option<jacquard_common::CowStr<'a>>, 219 ///Web-specific configuration for the app. 220 #[serde(skip_serializing_if = "std::option::Option::is_none")] 221 #[serde(borrow)] 222 pub web: std::option::Option<crate::app_ocho::plugin::Web<'a>>, 223} 224 225#[jacquard_derive::lexicon] 226#[derive( 227 serde::Serialize, 228 serde::Deserialize, 229 Debug, 230 Clone, 231 PartialEq, 232 Eq, 233 jacquard_derive::IntoStatic 234)] 235#[serde(rename_all = "camelCase")] 236pub struct ExpoGo<'a> { 237 ///Developer-specific configuration for the Expo Go app. 238 #[serde(borrow)] 239 pub developer: crate::app_ocho::plugin::Developer<'a>, 240} 241 242#[jacquard_derive::lexicon] 243#[derive( 244 serde::Serialize, 245 serde::Deserialize, 246 Debug, 247 Clone, 248 PartialEq, 249 Eq, 250 jacquard_derive::IntoStatic 251)] 252#[serde(rename_all = "camelCase")] 253pub struct Ios<'a> { 254 ///Whether the app supports iPad. 255 #[serde(skip_serializing_if = "std::option::Option::is_none")] 256 pub supports_tablet: std::option::Option<bool>, 257} 258 259#[jacquard_derive::lexicon] 260#[derive( 261 serde::Serialize, 262 serde::Deserialize, 263 Debug, 264 Clone, 265 PartialEq, 266 Eq, 267 jacquard_derive::IntoStatic 268)] 269#[serde(rename_all = "camelCase")] 270pub struct LaunchAsset<'a> { 271 ///The MIME type of the asset, e.g., 'image/png'. 272 #[serde(borrow)] 273 pub content_type: jacquard_common::CowStr<'a>, 274 ///The unique key for this asset, used to reference it in the plugin. 275 #[serde(borrow)] 276 pub key: jacquard_common::CowStr<'a>, 277 ///The URL where the asset can be accessed. 278 #[serde(borrow)] 279 pub url: jacquard_common::types::string::Uri<'a>, 280} 281 282#[jacquard_derive::lexicon] 283#[derive( 284 serde::Serialize, 285 serde::Deserialize, 286 Debug, 287 Clone, 288 PartialEq, 289 Eq, 290 jacquard_derive::IntoStatic 291)] 292#[serde(rename_all = "camelCase")] 293pub struct Manifest<'a> { 294 ///The date and time when this plugin manifest was created. 295 pub created_at: jacquard_common::types::string::Datetime, 296 ///Additional metadata for the plugin, including Expo client and Go configurations. 297 #[serde(borrow)] 298 pub extra: crate::app_ocho::plugin::ManifestExtra<'a>, 299 ///The unique identifier for this plugin manifest. 300 #[serde(borrow)] 301 pub id: jacquard_common::CowStr<'a>, 302 ///The launch asset for the plugin (the main javascipt bundle). 303 #[serde(borrow)] 304 pub launch_asset: crate::app_ocho::plugin::LaunchAsset<'a>, 305 #[serde(borrow)] 306 pub metadata: jacquard_common::types::value::Data<'a>, 307 ///The version of the Expo runtime this plugin is compatible with. 308 #[serde(borrow)] 309 pub runtime_version: jacquard_common::CowStr<'a>, 310} 311 312#[jacquard_derive::lexicon] 313#[derive( 314 serde::Serialize, 315 serde::Deserialize, 316 Debug, 317 Clone, 318 PartialEq, 319 Eq, 320 jacquard_derive::IntoStatic 321)] 322#[serde(rename_all = "camelCase")] 323pub struct ManifestExtra<'a> { 324 #[serde(borrow)] 325 pub expo_client: crate::app_ocho::plugin::ExpoClient<'a>, 326 #[serde(borrow)] 327 pub expo_go: crate::app_ocho::plugin::ExpoGo<'a>, 328} 329 330pub type Plugin<'a> = Vec<jacquard_common::types::value::Data<'a>>; 331pub type PluginConfig<'a> = jacquard_common::types::value::Data<'a>; 332///A string identifier for a plugin, used to reference it in the app. 333pub type StringId<'a> = jacquard_common::CowStr<'a>; 334#[jacquard_derive::lexicon] 335#[derive( 336 serde::Serialize, 337 serde::Deserialize, 338 Debug, 339 Clone, 340 PartialEq, 341 Eq, 342 jacquard_derive::IntoStatic 343)] 344#[serde(rename_all = "camelCase")] 345pub struct Web<'a> { 346 ///The bundler used for the web app. 347 #[serde(skip_serializing_if = "std::option::Option::is_none")] 348 #[serde(borrow)] 349 pub bundler: std::option::Option<jacquard_common::CowStr<'a>>, 350 ///The URL to the favicon for the web app. 351 #[serde(skip_serializing_if = "std::option::Option::is_none")] 352 #[serde(borrow)] 353 pub favicon: std::option::Option<jacquard_common::CowStr<'a>>, 354 #[serde(skip_serializing_if = "std::option::Option::is_none")] 355 #[serde(borrow)] 356 pub favicon_blob: std::option::Option<jacquard_common::types::blob::Blob<'a>>, 357 ///The output directory for the web app. 358 #[serde(skip_serializing_if = "std::option::Option::is_none")] 359 #[serde(borrow)] 360 pub output: std::option::Option<jacquard_common::CowStr<'a>>, 361}