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}